colana 1.0.0-beta.84 → 1.0.0-beta.85
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 +1 -1
- package/public/app.3e63859f7f.js +1 -0
- package/public/asset-manifest.json +4 -4
- package/public/index.html +5 -5
- package/public/service-worker.js +2 -2
- package/public/wizard.bd8f1905fb.js +1 -0
- package/public/wizard.html +11 -11
- package/server/index.jsc +0 -0
- package/public/app.f01921da16.js +0 -1
- package/public/wizard.41823a1ce2.js +0 -1
package/bin/admin.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
const a0_0x551569=a0_0x55d7;(function(_0xf7bc23,_0x48688b){const _0x4c8b63=a0_0x55d7,_0x3ae8ab=_0xf7bc23();while(!![]){try{const _0x36b0ed=-parseInt(_0x4c8b63(0x121))/0x1*(-parseInt(_0x4c8b63(0x139))/0x2)+parseInt(_0x4c8b63(0x226))/0x3*(parseInt(_0x4c8b63(0x1b2))/0x4)+parseInt(_0x4c8b63(0x25c))/0x5+parseInt(_0x4c8b63(0x186))/0x6+-parseInt(_0x4c8b63(0x189))/0x7+parseInt(_0x4c8b63(0x1d9))/0x8+-parseInt(_0x4c8b63(0x1ba))/0x9;if(_0x36b0ed===_0x48688b)break;else _0x3ae8ab['push'](_0x3ae8ab['shift']());}catch(_0x2b58d6){_0x3ae8ab['push'](_0x3ae8ab['shift']());}}}(a0_0x41a3,0x7afd5));var __defProp=Object['defineProperty'],__getOwnPropNames=Object['getOwnPropertyNames'],__esm=(_0x5e5ef4,_0x5e569e)=>function _0xde9280(){const _0x2622c1=a0_0x55d7,_0x199e1b={'pnucQ':function(_0x7cd229,_0x3f1b17){return _0x7cd229(_0x3f1b17);}};return _0x5e5ef4&&(_0x5e569e=(0x0,_0x5e5ef4[_0x199e1b[_0x2622c1(0x212)](__getOwnPropNames,_0x5e5ef4)[0x0]])(_0x5e5ef4=0x0)),_0x5e569e;},__export=(_0x19e665,_0x228046)=>{const _0xe209b2={'rfroe':function(_0x2390fa,_0x4799d3,_0xd1d1f0,_0x329dba){return _0x2390fa(_0x4799d3,_0xd1d1f0,_0x329dba);}};for(var _0x362011 in _0x228046)_0xe209b2['rfroe'](__defProp,_0x19e665,_0x362011,{'get':_0x228046[_0x362011],'enumerable':!![]});};import a0_0x1b047d from'crypto';import a0_0x1ee087 from'fs';import a0_0x4276dc from'os';import a0_0x5eac4c from'path';import{fileURLToPath}from'url';function envInt(_0x19e1b6,_0x1b9aef){const _0x27b76b=parseInt(_0x19e1b6,0xa);return Number['isNaN'](_0x27b76b)?_0x1b9aef:_0x27b76b;}function resolveEncryptionKey(){const _0x3895c4=a0_0x55d7,_0x126ada={'QBLgL':'utf-8'};if(process['env']['ENCRYPTION_KEY'])return process['env'][_0x3895c4(0x20b)];const _0x17d8f1=a0_0x5eac4c['join'](dataDir,KEY_FILENAME),_0x255591=a0_0x5eac4c['join'](dataDir,'dashboard.db');if(a0_0x1ee087['existsSync'](_0x17d8f1))try{const _0x4cdf57=a0_0x1ee087[_0x3895c4(0x24e)](_0x17d8f1,_0x126ada['QBLgL']),_0x3c7796=_0x4cdf57['split']('\x0a')[_0x3895c4(0x257)](_0x4af9a2=>!_0x4af9a2['startsWith']('#'))[_0x3895c4(0x17f)]('')[_0x3895c4(0x254)]();if(_0x3c7796['length']>=0x20)return _0x3c7796;console['error'](_0x3895c4(0x19b)+_0x3c7796[_0x3895c4(0x24b)]+'\x20chars).\x20Regenerating.');}catch(_0x51a42a){console['error'](_0x3895c4(0x190)+_0x51a42a[_0x3895c4(0x100)]);}if(!a0_0x1ee087[_0x3895c4(0x221)](_0x255591))return generateAndWriteKeyFile(_0x17d8f1);return LEGACY_DEFAULT_KEY;}function generateAndWriteKeyFile(_0xac77f4){const _0x306ff4=a0_0x55d7,_0x2edc42={'vbxlH':_0x306ff4(0x14e),'zGRAx':'#\x20Without\x20this\x20key,\x20all\x20encrypted\x20settings\x20(API\x20keys,\x20tokens)\x20are\x20unrecoverable.','JHucu':'utf-8','VUjDH':_0x306ff4(0x217)},_0x4b0590=a0_0x1b047d['randomBytes'](0x20)['toString'](_0x2edc42['vbxlH']);try{const _0x5706b6=a0_0x5eac4c[_0x306ff4(0x12b)](_0xac77f4);if(!a0_0x1ee087['existsSync'](_0x5706b6))a0_0x1ee087['mkdirSync'](_0x5706b6,{'recursive':!![]});const _0x1a044b=['#\x20Auto-generated\x20by\x20Colana.\x20Do\x20not\x20share\x20or\x20delete.',_0x2edc42['zGRAx'],_0x306ff4(0x1ec),_0x4b0590,''][_0x306ff4(0x17f)]('\x0a');a0_0x1ee087['writeFileSync'](_0xac77f4,_0x1a044b,{'encoding':_0x2edc42['JHucu'],'mode':0x180}),console['log'](_0x2edc42[_0x306ff4(0x179)]);}catch(_0x5ac63d){console['error']('[security]\x20WARNING:\x20Could\x20not\x20write\x20encryption\x20key\x20file:\x20'+_0x5ac63d[_0x306ff4(0x100)]),console['error']('[security]\x20Encryption\x20key\x20is\x20in-memory\x20only.\x20Restart\x20will\x20generate\x20a\x20new\x20key.');}return _0x4b0590;}function getReleaseChannel(){const _0x2c1f1d=a0_0x55d7;try{const _0x329926=a0_0x5eac4c[_0x2c1f1d(0x17f)](__dirname,'..',_0x2c1f1d(0x1e6)),_0x27d1da=JSON['parse'](a0_0x1ee087[_0x2c1f1d(0x24e)](_0x329926,'utf-8')),_0x2f321c=_0x27d1da['version']||'';if(_0x2f321c['includes']('-beta'))return'beta';}catch{}return'stable';}var __dirname,dataDir,LEGACY_DEFAULT_KEY,KEY_FILENAME,config,config_default,init_config=__esm({'server/config.js'(){const _0x4daf96=a0_0x55d7,_0x10f05a={'EzMAb':'sha256','VQPDe':_0x4daf96(0x14e),'pPOKO':function(_0x5b7960,_0x285556){return _0x5b7960(_0x285556);},'XjlbS':_0x4daf96(0x15c),'olxYj':'claude','NsSBO':'@anthropic-ai/claude-code','obavk':_0x4daf96(0x210),'RQkKX':_0x4daf96(0x225),'HEqMI':_0x4daf96(0x19c),'FcRYq':_0x4daf96(0x132),'NoDqv':'npm','OqvrC':_0x4daf96(0x143),'hbTHj':_0x4daf96(0x14c),'MmoUN':_0x4daf96(0x25d),'bqchw':'--resume','dcHkO':'npm\x20install\x20-g\x20@google/gemini-cli','asTQJ':_0x4daf96(0x11a),'CdBvU':'copilot','FkQvU':'--restore-chat-history','yfBQt':'pipx\x20install\x20aider-chat','dtOQx':_0x4daf96(0x197),'kXLcX':'python3','UySSp':'pipx','qJKdX':'LLM\x20API\x20key\x20required','IPArW':_0x4daf96(0x123),'QtStx':_0x4daf96(0x1e4),'PCLYf':'npm\x20install\x20-g\x20openclaw','lVLQe':'User-configured\x20model\x20keys\x20(Anthropic,\x20OpenAI,\x20Ollama,\x20etc.)','mddiW':'https://colana.ai','LGvIu':function(_0x31a59f,_0x1ab806){return _0x31a59f*_0x1ab806;},'uzzSt':function(_0xad954,_0x50a9b9){return _0xad954*_0x50a9b9;},'szDbX':function(_0x472397,_0x2e9156,_0x7c3958){return _0x472397(_0x2e9156,_0x7c3958);},'ogoBD':'127.0.0.1','aJVYT':_0x4daf96(0x1fa),'eMUmo':function(_0x31ed0d,_0x53dc38,_0x123740){return _0x31ed0d(_0x53dc38,_0x123740);},'dfcKU':function(_0x350478,_0x8abf9f,_0x5d498e){return _0x350478(_0x8abf9f,_0x5d498e);},'IGbPc':function(_0x3f8849,_0x198078){return _0x3f8849*_0x198078;},'amZBi':function(_0x275383,_0x6a869e){return _0x275383*_0x6a869e;},'hVbKL':function(_0x2dc5a2,_0x540f9c,_0x4585c5){return _0x2dc5a2(_0x540f9c,_0x4585c5);},'xjoRo':_0x4daf96(0x173),'gWzXF':'Bash','wBOGU':_0x4daf96(0x1bb),'NfHVk':'WebFetch','BPUCW':_0x4daf96(0x15f),'VvIFr':function(_0x252968,_0x39313d){return _0x252968*_0x39313d;},'rKpPZ':_0x4daf96(0x1f7),'ejzeH':'--include-partial-messages','TykHI':'--verbose','hOfpG':_0x4daf96(0x159),'obsSk':_0x4daf96(0x20d),'RriKE':_0x4daf96(0x237),'TsMsA':'acceptEdits','hgalo':_0x4daf96(0x150),'hcdKf':_0x4daf96(0x101),'ZnisM':'Grep','YDxTu':function(_0x37d508){return _0x37d508();}};__dirname=a0_0x5eac4c['dirname'](_0x10f05a['pPOKO'](fileURLToPath,import.meta.url)),dataDir=process[_0x4daf96(0x117)][_0x4daf96(0x1d8)]?a0_0x5eac4c[_0x4daf96(0x264)](process[_0x4daf96(0x117)]['DATA_DIR']):a0_0x5eac4c['join'](__dirname,'..',_0x4daf96(0x16c)),LEGACY_DEFAULT_KEY=_0x4daf96(0x120),KEY_FILENAME=_0x10f05a['XjlbS'],config={'providers':{'claude':{'label':'Claude\x20Code','binary':_0x10f05a['olxYj'],'npmPackage':_0x10f05a['NsSBO'],'models':[],'supportsResume':!![],'supportsPty':!![],'supportsInteractive':!![],'resumeStyle':_0x4daf96(0x1c8),'resumeFlag':'--resume','installCmd':_0x4daf96(0x109),'runtime':'npm','authNote':_0x10f05a['obavk']},'codex':{'label':_0x10f05a[_0x4daf96(0x141)],'binary':_0x10f05a[_0x4daf96(0x138)],'npmPackage':'@openai/codex','models':[],'supportsResume':!![],'supportsPty':!![],'supportsInteractive':!![],'resumeStyle':_0x10f05a[_0x4daf96(0x124)],'resumeSubcmd':_0x4daf96(0x154),'installCmd':_0x4daf96(0x1b8),'runtime':_0x10f05a[_0x4daf96(0x103)],'authNote':_0x4daf96(0x14a)},'gemini':{'label':_0x10f05a[_0x4daf96(0x25f)],'binary':_0x10f05a['hbTHj'],'npmPackage':_0x10f05a[_0x4daf96(0x1de)],'models':[],'supportsResume':!![],'supportsPty':!![],'supportsInteractive':!![],'resumeStyle':'flag','resumeFlag':_0x10f05a[_0x4daf96(0x145)],'installCmd':_0x10f05a[_0x4daf96(0x152)],'runtime':_0x4daf96(0x165),'authNote':_0x4daf96(0x1eb),'recommended':!![]},'copilot':{'label':_0x10f05a[_0x4daf96(0x155)],'binary':_0x4daf96(0x112),'fallbackBinary':'gh','fallbackBinaryArgs':[_0x10f05a['CdBvU']],'models':[],'supportsResume':!![],'supportsPty':!![],'supportsInteractive':!![],'resumeStyle':_0x4daf96(0x1c8),'resumeFlag':_0x10f05a['bqchw'],'installCmd':'gh\x20copilot\x20--version','installFallbackCmd':_0x4daf96(0x222),'runtime':_0x10f05a['NoDqv'],'authNote':_0x4daf96(0x1c2)},'aider':{'label':_0x4daf96(0x105),'binary':_0x4daf96(0x1c3),'models':[],'supportsResume':!![],'supportsPty':!![],'supportsInteractive':!![],'resumeStyle':_0x4daf96(0x1c8),'resumeFlag':_0x10f05a[_0x4daf96(0x1f0)],'noSessionId':!![],'installCmd':_0x10f05a[_0x4daf96(0x110)],'installFallbackCmd':_0x10f05a['dtOQx'],'installPrereq':_0x10f05a[_0x4daf96(0x1ed)],'runtime':_0x10f05a['UySSp'],'authNote':_0x10f05a['qJKdX']},'openclaw':{'label':_0x10f05a['IPArW'],'binary':_0x10f05a[_0x4daf96(0x114)],'models':[],'supportsResume':![],'supportsPty':!![],'supportsInteractive':!![],'supportsHeadless':![],'installCmd':_0x10f05a[_0x4daf96(0x1da)],'runtime':_0x4daf96(0x165),'authNote':_0x10f05a['lVLQe'],'gatewayPort':0x4965,'isPersonal':!![]}},'defaultModel':process['env'][_0x4daf96(0x24f)]||null,'polar':{'organizationId':process['env']['POLAR_ORG_ID']||'','accessToken':process[_0x4daf96(0x117)]['POLAR_ACCESS_TOKEN']||'','productId':process[_0x4daf96(0x117)]['POLAR_PRODUCT_ID']||'','checkoutUrl':process['env'][_0x4daf96(0x196)]||_0x4daf96(0x20c),'customerPortalUrl':process[_0x4daf96(0x117)][_0x4daf96(0x1a4)]||'','webhookSecret':process[_0x4daf96(0x117)][_0x4daf96(0x256)]||'','apiUrl':process[_0x4daf96(0x117)]['POLAR_API_URL']||_0x4daf96(0x25e),'blueprintCloudUrl':process[_0x4daf96(0x117)]['BLUEPRINT_CLOUD_URL']||_0x10f05a['mddiW'],'cacheTtlMs':envInt(process[_0x4daf96(0x117)][_0x4daf96(0x13a)],0x7*0x18*0x3c*0x3c*0x3e8),'revalidationIntervalMs':envInt(process[_0x4daf96(0x117)]['LICENSE_REVALIDATION_INTERVAL_MS'],_0x10f05a[_0x4daf96(0x26a)](_0x10f05a[_0x4daf96(0x209)](0x6,0x3c),0x3c)*0x3e8),'staffKeys':(process['env']['STAFF_KEYS']||'')['split'](',')['map'](_0x437ca8=>_0x437ca8['trim']())[_0x4daf96(0x257)](Boolean),'adminKeys':(process['env']['ADMIN_KEYS']||'')[_0x4daf96(0x137)](',')['map'](_0x578cd0=>_0x578cd0['trim']())['filter'](Boolean)},'freeMaxSessions':_0x10f05a['szDbX'](envInt,process['env'][_0x4daf96(0x267)],0x2),'dataDir':dataDir,'dbFilename':process['env']['DB_FILENAME']||'dashboard.db','homePath':a0_0x4276dc['homedir'](),'startPort':_0x10f05a['szDbX'](envInt,process['env']['START_PORT'],0x2694),'maxPortAttempts':envInt(process[_0x4daf96(0x117)]['MAX_PORT_ATTEMPTS'],0x64),'bindAddress':process['env']['BIND_ADDRESS']||_0x10f05a['ogoBD'],'encryptionKey':resolveEncryptionKey(),'encryptionKeyIsLegacyDefault':![],'defaultEditorCommand':_0x10f05a['aJVYT'],'permissionTimeoutMs':envInt(process[_0x4daf96(0x117)][_0x4daf96(0x1e7)],0x1d4c0),'permissionClientMs':envInt(process['env']['PERMISSION_CLIENT_MS'],0x249f0),'agentGracePeriodMs':envInt(process[_0x4daf96(0x117)][_0x4daf96(0x1c6)],0x1388),'shutdownTimeoutMs':envInt(process[_0x4daf96(0x117)]['SHUTDOWN_TIMEOUT_MS'],0x2710),'defaultLogLimit':envInt(process['env'][_0x4daf96(0x10e)],0x3e8),'defaultSessionLimit':envInt(process[_0x4daf96(0x117)]['DEFAULT_SESSION_LIMIT'],0x14),'gitDiffMaxBuffer':_0x10f05a[_0x4daf96(0x1df)](envInt,process[_0x4daf96(0x117)]['GIT_DIFF_MAX_BUFFER'],_0x10f05a['uzzSt'](0xa*0x400,0x400)),'toolResultPreviewLen':envInt(process['env']['TOOL_RESULT_PREVIEW_LEN'],0x1f4),'maxResumableSessions':_0x10f05a['dfcKU'](envInt,process['env']['MAX_RESUMABLE_SESSIONS'],0x5),'updateCheckIntervalMs':envInt(process['env'][_0x4daf96(0x163)],_0x10f05a[_0x4daf96(0x209)](0x6,0x3c)*0x3c*0x3e8),'logRetentionDays':envInt(process['env'][_0x4daf96(0x23c)],0x0),'logRetentionIntervalMs':_0x10f05a[_0x4daf96(0x20f)](envInt,process['env']['LOG_RETENTION_INTERVAL_MS'],_0x10f05a['IGbPc'](_0x10f05a['amZBi'](0x18,0x3c),0x3c)*0x3e8),'logRetentionBatchSize':_0x10f05a['hVbKL'](envInt,process['env'][_0x4daf96(0x240)],0x7d0),'logRetentionMaxBatches':envInt(process[_0x4daf96(0x117)]['LOG_RETENTION_MAX_BATCHES'],0xa),'logArchiveMode':(process['env']['LOG_ARCHIVE_MODE']||'db')[_0x4daf96(0x13d)](),'allowedTools':[_0x4daf96(0x178),'Edit',_0x10f05a[_0x4daf96(0x1d5)],'Glob','Grep',_0x10f05a['gWzXF'],_0x10f05a[_0x4daf96(0x127)],_0x10f05a['NfHVk']],'maxTurnsOptions':[0x0,0xa,0x19,0x32,0x64],'fontSizes':[0xc,0xe,0x10,0x12],'ptyBufferSize':envInt(process[_0x4daf96(0x117)][_0x4daf96(0x125)],0x100*0x400),'ptyDefaultCols':_0x10f05a[_0x4daf96(0x1df)](envInt,process[_0x4daf96(0x117)][_0x4daf96(0x164)],0x78),'ptyDefaultRows':envInt(process['env']['PTY_DEFAULT_ROWS'],0x1e),'worktreesDir':a0_0x5eac4c[_0x4daf96(0x17f)](dataDir,_0x10f05a['BPUCW']),'worktreeMaxPerProject':0xa,'worktreeStaleAfterDays':0x4,'worktreeCleanupIntervalMs':_0x10f05a[_0x4daf96(0x21b)](0x18,0x3c)*0x3c*0x3e8,'worktreeGitTimeoutMs':0x7530,'worktreeGitQuickTimeoutMs':0x1388,'cliFlags':['--print','--output-format','stream-json',_0x10f05a[_0x4daf96(0x251)],'stream-json',_0x10f05a[_0x4daf96(0x1bd)],_0x10f05a['TykHI']],'permissionToolName':'mcp__dashboard_permissions__permission_prompt','permissionModes':[_0x10f05a[_0x4daf96(0x10c)],'acceptEdits',_0x10f05a[_0x4daf96(0x184)],_0x10f05a['RriKE'],_0x4daf96(0x1fd),'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['env'][_0x4daf96(0x19a)],0x5),'permissionModes':[_0x10f05a['hOfpG'],_0x10f05a['TsMsA'],_0x10f05a[_0x4daf96(0x184)],_0x4daf96(0x237),'dontAsk',_0x10f05a['hgalo']],'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':[_0x4daf96(0x178),_0x10f05a['hcdKf'],_0x10f05a[_0x4daf96(0x1d5)],_0x4daf96(0x181),_0x10f05a[_0x4daf96(0x17d)],'Bash',_0x10f05a[_0x4daf96(0x127)],_0x10f05a['NfHVk']],'maxTurnsOptions':[0x0,0xa,0x19,0x32,0x64],'fontSizes':[0xc,0xe,0x10,0x12]}},config['encryptionKeyIsLegacyDefault']=config[_0x4daf96(0x243)]===LEGACY_DEFAULT_KEY,config[_0x4daf96(0x1c7)]=LEGACY_DEFAULT_KEY,config[_0x4daf96(0x252)]=KEY_FILENAME,config[_0x4daf96(0x266)]=function(){const _0xab21bb=_0x4daf96;return a0_0x1b047d[_0xab21bb(0x1ca)](_0x10f05a[_0xab21bb(0x1c1)])['update'](_0xab21bb(0x162)+config['encryptionKey'])[_0xab21bb(0x18a)](_0x10f05a[_0xab21bb(0x12f)])['slice'](0x0,0x20);},config['releaseChannel']=_0x10f05a['YDxTu'](getReleaseChannel),config['client'][_0x4daf96(0x18d)]=Object[_0x4daf96(0x160)](Object[_0x4daf96(0x218)](config['providers'])[_0x4daf96(0x153)](([_0x33fb4e,_0xc43328])=>[_0x33fb4e,{'label':_0xc43328['label'],'models':_0xc43328[_0x4daf96(0x1a2)],'supportsResume':_0xc43328[_0x4daf96(0x17e)],'supportsPty':_0xc43328['supportsPty'],'supportsInteractive':_0xc43328['supportsInteractive'],'supportsHeadless':_0xc43328[_0x4daf96(0x18f)]!==![],'runtime':_0xc43328[_0x4daf96(0x1b1)],'authNote':_0xc43328[_0x4daf96(0x1dc)],'recommended':_0xc43328['recommended']||![],'isPersonal':_0xc43328['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_0x4a7f47 from'sql.js';import a0_0x15b81d from'path';import a0_0x2567aa from'fs';function a0_0x41a3(){const _0x3ca2f6=['flag','push','createHash','nOWec','exec','Key\x20generation\x20returned\x20an\x20unexpected\x20response.','\x20\x20To\x20add/remove\x20keys,\x20update\x20the\x20STAFF_KEYS\x20or\x20ADMIN_KEYS\x20environment\x20variable.\x0a','YjhjF','IMPORTANT:\x20Copy\x20this\x20key\x20now.\x20It\x20cannot\x20be\x20retrieved\x20later.','heading','ID:','\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','Usage:','xjoRo','allowed_tools','CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_logs_archive_session_id\x20ON\x20logs_archive(session_id)','DATA_DIR','4770400nHrUfz','PCLYf','fts5','authNote','fts4','MmoUN','eMUmo','qbzgb','update','[db]\x20Database\x20may\x20be\x20in\x20an\x20inconsistent\x20state.\x20Contact\x20support.','OwELh','openclaw','Database\x20not\x20initialized.\x20Call\x20initializeDatabase()\x20first.','package.json','PERMISSION_TIMEOUT_MS','kgtAD','colana\x20admin\x20staff-keys','\x20\x20\x20\x20\x20\x20\x20\x20Revoke\x20a\x20DB-stored\x20license\x20key\x0a\x0a\x20\x20','Free\x20or\x20paid\x20Google\x20account','#\x20Back\x20up\x20this\x20file\x20alongside\x20your\x20database.','kXLcX','JdHWU','\x0a\x20\x20\x20\x20','FkQvU','catch','\x20\x20\x20\x20','qBTTC','CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_audit_log_created\x20ON\x20audit_log(created_at)','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Filter\x20by\x20type\x0a\x20\x20\x20\x20\x20\x20','error','--input-format','limit','\x20has\x20been\x20revoked.\x0a','code','wbxZk','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','dontAsk','no\x20such\x20module:\x20fts5','\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','col_','OiBZZ','CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_project_blueprints_project\x20ON\x20project_blueprints(project_id)','pigLJ','Invalid\x20key\x20type:\x20','\x1b[33m','zuVUW','LwLWF','ERROR:\x20--name\x20is\x20required.','uzzSt','Database','ENCRYPTION_KEY','https://buy.polar.sh/colana','plan','staff-keys','szDbX','Anthropic\x20subscription\x20or\x20API\x20key','DoScg','pnucQ','getTime','FQcuH','zVWHk','exit','[security]\x20Generated\x20new\x20encryption\x20key\x20file.','entries','LCtqq','timeout','VvIFr','gwhag','Mhnxc','ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20isolation_mode\x20TEXT\x20DEFAULT\x20\x27local\x27','FORCE_COLOR','SELECT\x20COUNT(*)\x20as\x20cnt\x20FROM\x20schema_version','existsSync','gh\x20extension\x20install\x20github/gh-copilot','stdout','OFDPH','Codex\x20CLI','3162BUOHpv','Total:\x20','log','qbTIT','/api/admin/keys/','0|1|2|5|4|3','Database\x20initialized\x20at:','(Created\x20via\x20running\x20server)','SELECT\x20id,\x20name,\x20type,\x20status,\x20email,\x20expires_at,\x20created_at,\x20revoked_at\x20FROM\x20license_keys\x20WHERE\x201=1','iJYfL','NWzJo','type','function','email','set','json','\x20\x20\x20\x20\x20','bypassPermissions','font_size','includes','\x0a\x20\x20No\x20keys\x20found.\x0a','uiJvc','LOG_RETENTION_DAYS','MlvSJ','\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','isTTY','LOG_RETENTION_BATCH_SIZE','toString','\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','encryptionKey','\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','aEFdN','dataDir','\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','revoked_at','Expires','keys','length','aapwR','info','readFileSync','DEFAULT_MODEL','id,name,type,status,email,expires_at,created_at,revoked_at','rKpPZ','KEY_FILENAME','\x0a\x20\x20','trim','\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','POLAR_WEBHOOK_SECRET','filter','expiry','argv','colana\x20admin\x20revoke-key\x20<id>','then','3774420fiVNDD','@google/gemini-cli','https://api.polar.sh/v1','OqvrC','\x1b[1;37m','lana','PRAGMA\x20integrity_check','mkdirSync','resolve','vCmtt','deriveGogKeyringPassword','FREE_MAX_SESSIONS','expires_at','Admin\x20Keys:','LGvIu','ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20worktree_path\x20TEXT','colana\x20admin\x20create-key','message','Edit','\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','NoDqv','slice','Aider','pJUUj','\x1b[36m','fJDme','npm\x20install\x20-g\x20@anthropic-ai/claude-code','dnXug','name','hOfpG','\x0a\x0a\x20\x20','DEFAULT_LOG_LIMIT','version','yfBQt','ALTER\x20TABLE\x20projects\x20ADD\x20COLUMN\x20permission_preset\x20TEXT\x20DEFAULT\x20\x27default\x27','copilot','/api/admin/keys','QtStx','\x1b[37m','ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20worktree_merged\x20INTEGER\x20DEFAULT\x200','env','IfXKL','KGCYp','Copilot\x20CLI','pJimA','jLrvk','vinII','success','http://127.0.0.1:','colana-default-encryption-key32','217bUbcUS','STAFF_KEYS','OpenClaw','FcRYq','PTY_BUFFER_SIZE','Obkmv','wBOGU','\x1b[90m','staff','\x0a\x20\x20\x20\x20CREATE\x20VIRTUAL\x20TABLE\x20IF\x20NOT\x20EXISTS\x20logs_fts\x0a\x20\x20\x20\x20USING\x20','dirname','\x20\x20(STAFF_KEYS)','RNmZW','.\x20Must\x20be\x20one\x20of:\x20','VQPDe','(\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','ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20auth_mode\x20TEXT\x20DEFAULT\x20NULL','subcommand','CdoLD','Gfdtr','iBPTf','\x20\x20(ADMIN_KEYS)','split','HEqMI','3284zUyaDv','LICENSE_CACHE_TTL_MS','DDFVR','sHEeN','toLowerCase','status','ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20num_turns\x20INTEGER','theme','RQkKX','admin','Gemini\x20CLI','CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_audit_log_action\x20ON\x20audit_log(action)','bqchw','bmOic','SELECT\x20COUNT(*)\x20as\x20count\x20FROM\x20license_keys\x20WHERE\x20status\x20=\x20\x27revoked\x27','full','revoke-key','OpenAI\x20API\x20key\x20(pay-per-use)','\x20Unknown\x20command:\x20','gemini','getAsObject','hex','--status\x20active|revoked','delegate','nABLT','dcHkO','map','resume','asTQJ','HTTP\x20','--expires\x202026-12-31','SELECT\x20COUNT(*)\x20as\x20count\x20FROM\x20license_keys\x20WHERE\x20status\x20=\x20\x27active\x27','default','SELECT\x20id,\x20name,\x20type,\x20status,\x20email,\x20expires_at,\x20created_at,\x20revoked_at\x20FROM\x20license_keys\x20ORDER\x20BY\x20created_at\x20DESC','DZBqN','encryption.key','Server\x20responded\x20with\x20','PRAGMA\x20foreign_keys\x20=\x20ON','worktrees','fromEntries','ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20duration_ms\x20INTEGER','colana:gog-keyring:','UPDATE_CHECK_INTERVAL_MS','PTY_DEFAULT_COLS','npm','\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','SGpEb','create-key','now','lrmdu','hNPVg','data','hQAnx','randomUUID','--type\x20staff|admin|beta','CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_checkpoints_session\x20ON\x20session_checkpoints(session_id)','AGZfl','\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','Write','\x20Key\x20','default_provider','run','ldBda','Read','VUjDH','\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','sha256','beta','ZnisM','supportsResume','join','Database\x20not\x20initialized','Glob','CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_analytics_events_type\x20ON\x20analytics_events(event_type)','ZHxnV','obsSk','INSERT\x20INTO\x20schema_version\x20(version)\x20VALUES\x20(?)','3413376ZSoZeV','POST','WxgcP','5454722PLbJqF','digest','\x1b[32m','UPDATE\x20sessions\x20SET\x20auth_mode\x20=\x20\x27subscription\x27\x20WHERE\x20auth_mode\x20IS\x20NULL','providers','Admin\x20CLI','supportsHeadless','[security]\x20Failed\x20to\x20read\x20encryption\x20key\x20file:\x20','ALTER\x20TABLE\x20usage\x20ADD\x20COLUMN\x20model\x20TEXT\x20DEFAULT\x20NULL','SELECT\x20COUNT(*)\x20as\x20count\x20FROM\x20license_keys','\x0a\x20\x20Run\x20\x27colana\x20doctor\x27\x20for\x20system\x20diagnostics.\x0a','\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','DELETE','POLAR_CHECKOUT_URL','pip\x20install\x20aider-chat','Name:','cxMaG','MAX_RESUMABLE_SESSIONS','[security]\x20Encryption\x20key\x20file\x20is\x20invalid\x20(','codex','padEnd','DQpCD','default_model','true','fail','models','warn','POLAR_CUSTOMER_PORTAL_URL','License\x20Keys:','CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_usage_session_id\x20ON\x20usage(session_id)','reset','repeat','muted','count','Polar.sh\x20key\x20management:','pass','\x1b[31m','https://dashboard.polar.sh','\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','FLDXA','runtime','3112swnAQw','yhNNu','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Email\x20(optional)\x0a\x20\x20\x20\x20\x20\x20','value','randomBytes','cmd','npm\x20install\x20-g\x20@openai/codex','CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_logs_session_id\x20ON\x20logs(session_id)','16320555tOtISY','WebSearch','Key:','ejzeH','ePRrz','values','created_at','EzMAb','GitHub\x20Copilot\x20subscription','aider','Key\x20ID\x20is\x20required','RPiOB','AGENT_GRACE_PERIOD_MS','LEGACY_DEFAULT_KEY'];a0_0x41a3=function(){return _0x3ca2f6;};return a0_0x41a3();}function saveDatabaseNow(){if(db){const _0x3aa223=db['export'](),_0xac091c=Buffer['from'](_0x3aa223);a0_0x2567aa['writeFileSync'](DB_PATH,_0xac091c);}}function saveDatabase(){const _0x419d9d=a0_0x55d7,_0x7acde1={'yhNNu':function(_0x177a21,_0x4a5297,_0x1cc9ae){return _0x177a21(_0x4a5297,_0x1cc9ae);}};if(_saveTimer)return;_saveTimer=_0x7acde1[_0x419d9d(0x1b3)](setTimeout,()=>{_saveTimer=null,saveDatabaseNow();},0x3e8);}async function initializeDatabase(){const _0x3c324e=a0_0x55d7,_0xf9d9d4={'WWWCi':function(_0x47e41b,_0x19819a){return _0x47e41b>_0x19819a;},'mLflw':'INSERT\x20INTO\x20schema_version\x20(version)\x20VALUES\x20(?)','dPhEz':function(_0x191ede){return _0x191ede();},'LeNcB':'subscription','DZBqN':_0x3c324e(0x140),'CdoLD':'dark','BtpAj':'Write','WyVWk':'max_turns','fJDme':'editor_command','HXtnb':'auto_resume_on_restart'};!a0_0x2567aa['existsSync'](DATA_DIR)&&a0_0x2567aa[_0x3c324e(0x263)](DATA_DIR,{'recursive':!![]});SQL=await a0_0x4a7f47();if(a0_0x2567aa['existsSync'](DB_PATH)){const _0x5e6054=a0_0x2567aa['readFileSync'](DB_PATH);db=new SQL[(_0x3c324e(0x20a))](_0x5e6054);}else db=new SQL['Database']();db[_0x3c324e(0x176)](_0x3c324e(0x15e)),db[_0x3c324e(0x176)]('\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'](_0x3c324e(0x1d3)),db['run'](_0x3c324e(0x255)),db[_0x3c324e(0x176)](_0x3c324e(0x242)),db[_0x3c324e(0x176)]('\x0a\x20\x20\x20\x20--\x20Session\x20usage\x20summary\x20table\x20(pre-aggregated\x20for\x20session\x20list)\x0a\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20session_usage_summary\x20(\x0a\x20\x20\x20\x20\x20\x20session_id\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20input_tokens\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20output_tokens\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20cache_read_tokens\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20cache_write_tokens\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20total_cost\x20REAL\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20cli_cost\x20REAL\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20models_used\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20updated_at\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20(datetime(\x27now\x27)),\x0a\x20\x20\x20\x20\x20\x20FOREIGN\x20KEY\x20(session_id)\x20REFERENCES\x20sessions(id)\x20ON\x20DELETE\x20CASCADE\x0a\x20\x20\x20\x20)\x0a\x20\x20'),db['run'](_0x3c324e(0x1ff)),db[_0x3c324e(0x176)]('\x0a\x20\x20\x20\x20--\x20Templates\x20table\x20(task\x20prompt\x20templates)\x0a\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20templates\x20(\x0a\x20\x20\x20\x20\x20\x20id\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20project_id\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20name\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20content\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20category\x20TEXT\x20DEFAULT\x20\x27general\x27,\x0a\x20\x20\x20\x20\x20\x20created_at\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20(datetime(\x27now\x27)),\x0a\x20\x20\x20\x20\x20\x20updated_at\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20(datetime(\x27now\x27)),\x0a\x20\x20\x20\x20\x20\x20FOREIGN\x20KEY\x20(project_id)\x20REFERENCES\x20projects(id)\x20ON\x20DELETE\x20CASCADE\x0a\x20\x20\x20\x20)\x0a\x20\x20'),db['run']('\x0a\x20\x20\x20\x20--\x20Snippets\x20table\x20(clipboard/reusable\x20commands)\x0a\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20snippets\x20(\x0a\x20\x20\x20\x20\x20\x20id\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20project_id\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20name\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20content\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20usage_count\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20created_at\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20(datetime(\x27now\x27)),\x0a\x20\x20\x20\x20\x20\x20updated_at\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20(datetime(\x27now\x27)),\x0a\x20\x20\x20\x20\x20\x20FOREIGN\x20KEY\x20(project_id)\x20REFERENCES\x20projects(id)\x20ON\x20DELETE\x20CASCADE\x0a\x20\x20\x20\x20)\x0a\x20\x20'),db[_0x3c324e(0x176)]('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_sessions_project_id\x20ON\x20sessions(project_id)'),db['run']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_sessions_status\x20ON\x20sessions(status)'),db[_0x3c324e(0x176)](_0x3c324e(0x1b9)),db[_0x3c324e(0x176)](_0x3c324e(0x1a6));try{db[_0x3c324e(0x176)]('ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20permission_mode\x20TEXT\x20DEFAULT\x20\x27default\x27');}catch(_0x2728c3){}try{db[_0x3c324e(0x176)](_0x3c324e(0x161));}catch(_0x2ea382){}try{db[_0x3c324e(0x176)](_0x3c324e(0x13f));}catch(_0x16d05c){}try{db['run']('ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20total_cost_usd\x20REAL');}catch(_0x4c0591){}try{db['run']('ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20mode\x20TEXT\x20DEFAULT\x20\x27legacy\x27');}catch(_0x3b92c3){}try{db[_0x3c324e(0x176)]('ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20provider\x20TEXT\x20DEFAULT\x20\x27claude\x27');}catch(_0x48a1f2){}db[_0x3c324e(0x176)]('\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 _0x33f070=db[_0x3c324e(0x1cc)](_0x3c324e(0x220)),_0x309333=_0xf9d9d4['WWWCi'](_0x33f070[_0x3c324e(0x24b)],0x0)?_0x33f070[0x0]['values'][0x0][0x0]:0x0;_0x309333===0x0&&db['run'](_0xf9d9d4['mLflw'],[0x1]);_0xf9d9d4['dPhEz'](runMigrations);const _0x5cf518=[['auth_mode',_0xf9d9d4['LeNcB']],[_0x3c324e(0x175),_0x3c324e(0x14c)],[_0x3c324e(0x19f),config_default['defaultModel']],[_0xf9d9d4[_0x3c324e(0x15b)],_0xf9d9d4[_0x3c324e(0x133)]],[_0x3c324e(0x1d6),JSON['stringify'](['Read','Edit',_0xf9d9d4['BtpAj'],'Glob','Grep'])],[_0xf9d9d4['WyVWk'],'0'],[_0x3c324e(0x238),'14'],[_0xf9d9d4[_0x3c324e(0x108)],_0x3c324e(0x1fa)],[_0xf9d9d4['HXtnb'],_0x3c324e(0x1a0)]];for(const [_0x1b7841,_0x37396c]of _0x5cf518){db['run']('INSERT\x20OR\x20IGNORE\x20INTO\x20settings\x20(key,\x20value)\x20VALUES\x20(?,\x20?)',[_0x1b7841,_0x37396c]);}return saveDatabaseNow(),console[_0x3c324e(0x228)](_0x3c324e(0x22c),DB_PATH),db;}function isFtsMissingError(_0x504bf1){const _0x35f4e7=a0_0x55d7,_0x4fd762={'TJPhM':'no\x20such\x20module:\x20fts4','ePRrz':'fts4'};if(!_0x504bf1)return![];const _0x1f0aa7=String(_0x504bf1[_0x35f4e7(0x100)]||_0x504bf1);return _0x1f0aa7['includes'](_0x35f4e7(0x1fe))||_0x1f0aa7[_0x35f4e7(0x239)](_0x4fd762['TJPhM'])||_0x1f0aa7['includes'](_0x35f4e7(0x1db))||_0x1f0aa7[_0x35f4e7(0x239)](_0x4fd762[_0x35f4e7(0x1be)]);}function createLogsFts(_0x4c8466,_0x5c0961){const _0x4be6a1=a0_0x55d7;_0x4c8466['run'](_0x4be6a1(0x12a)+_0x5c0961+_0x4be6a1(0x130)),_0x4c8466[_0x4be6a1(0x176)](_0x4be6a1(0x23e)),_0x4c8466['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'),_0x4c8466[_0x4be6a1(0x176)](_0x4be6a1(0x247)),_0x4c8466['run']('INSERT\x20INTO\x20logs_fts(logs_fts)\x20VALUES(\x27rebuild\x27)');}function setupLogsFts(_0x48cb31){const _0x43c590=a0_0x55d7,_0xa52234={'hQAnx':function(_0x217b38,_0x4b8b99,_0xcc7012){return _0x217b38(_0x4b8b99,_0xcc7012);},'lrmdu':function(_0x49543d,_0x3f4464){return _0x49543d(_0x3f4464);}};try{createLogsFts(_0x48cb31,'fts5');return;}catch(_0x253f96){if(!isFtsMissingError(_0x253f96))throw _0x253f96;}try{_0xa52234[_0x43c590(0x16d)](createLogsFts,_0x48cb31,_0x43c590(0x1dd));return;}catch(_0x31b9b6){if(!_0xa52234[_0x43c590(0x16a)](isFtsMissingError,_0x31b9b6))throw _0x31b9b6;}console[_0x43c590(0x1a3)]('[db]\x20FTS\x20unavailable;\x20log\x20search\x20will\x20fall\x20back\x20to\x20LIKE.');}function runMigrations(){const _0x57067f=a0_0x55d7,_0x170e0a={'sToFC':'SELECT\x20MAX(version)\x20as\x20v\x20FROM\x20schema_version','DDFVR':function(_0x3d1be4,_0x25fc0d){return _0x3d1be4>_0x25fc0d;},'iYJax':function(_0x1b2a73,_0x37c90c){return _0x1b2a73!=_0x37c90c;}},_0x26c068=db[_0x57067f(0x1cc)](_0x170e0a['sToFC']),_0x3d8364=_0x170e0a[_0x57067f(0x13b)](_0x26c068[_0x57067f(0x24b)],0x0)&&_0x170e0a['iYJax'](_0x26c068[0x0]['values'][0x0][0x0],null)?_0x26c068[0x0]['values'][0x0][0x0]:0x0;for(const _0x53ed3f of migrations){if(_0x170e0a[_0x57067f(0x13b)](_0x53ed3f[_0x57067f(0x10f)],_0x3d8364))try{typeof _0x53ed3f['up']===_0x57067f(0x232)?_0x53ed3f['up'](db):db[_0x57067f(0x176)](_0x53ed3f['sql']),db[_0x57067f(0x176)](_0x57067f(0x185),[_0x53ed3f['version']]),console[_0x57067f(0x228)]('[db]\x20Applied\x20migration\x20v'+_0x53ed3f['version']);}catch(_0x13bca8){console[_0x57067f(0x1f6)]('[db]\x20FATAL:\x20Migration\x20v'+_0x53ed3f[_0x57067f(0x10f)]+'\x20failed:\x20'+_0x13bca8['message']),console['error'](_0x57067f(0x1e2));throw _0x13bca8;}}}function checkDbIntegrity(){const _0xf35ee5=a0_0x55d7,_0x569d46={'ZHxnV':function(_0x5ce0ac,_0x5c4be0){return _0x5ce0ac===_0x5c4be0;}};if(!db)return{'ok':![],'detail':_0xf35ee5(0x180)};try{const _0x387b91=db[_0xf35ee5(0x1cc)](_0xf35ee5(0x262)),_0x1a77e6=_0x387b91['length']>0x0?_0x387b91[0x0][_0xf35ee5(0x1bf)][0x0][0x0]:'unknown';return{'ok':_0x569d46[_0xf35ee5(0x183)](_0x1a77e6,'ok'),'detail':String(_0x1a77e6)};}catch(_0x3ab5ba){return{'ok':![],'detail':_0x3ab5ba['message']};}}function getSchemaVersion(){const _0x1ea27d=a0_0x55d7,_0x11af26={'vCmtt':function(_0x5b643e,_0x4b50e9){return _0x5b643e>_0x4b50e9;},'DQpCD':function(_0x294ced,_0x99e901){return _0x294ced!=_0x99e901;}};if(!db)return 0x0;const _0x284777=db[_0x1ea27d(0x1cc)]('SELECT\x20MAX(version)\x20as\x20v\x20FROM\x20schema_version');return _0x11af26[_0x1ea27d(0x265)](_0x284777['length'],0x0)&&_0x11af26[_0x1ea27d(0x19e)](_0x284777[0x0]['values'][0x0][0x0],null)?_0x284777[0x0][_0x1ea27d(0x1bf)][0x0][0x0]:0x0;}async function getDb(){return!db&&await initializeDatabase(),db;}function closeDb(){const _0x399d58=a0_0x55d7,_0x55a997={'Obkmv':function(_0x5dd411,_0x248286){return _0x5dd411(_0x248286);},'sHEeN':function(_0x1d995d){return _0x1d995d();}};db&&(_saveTimer&&(_0x55a997[_0x399d58(0x126)](clearTimeout,_saveTimer),_saveTimer=null),_0x55a997[_0x399d58(0x13c)](saveDatabaseNow),db['close'](),db=null,console[_0x399d58(0x228)]('Database\x20connection\x20closed'));}function save(){const _0xeec177=a0_0x55d7,_0x1b3e0f={'zVWHk':function(_0x37b18d,_0x3e3e93){return _0x37b18d(_0x3e3e93);}};_saveTimer&&(_0x1b3e0f[_0xeec177(0x215)](clearTimeout,_saveTimer),_saveTimer=null),saveDatabaseNow();}function queryAll(_0x47644b,_0x1b3f1b=[]){const _0x5b107b=a0_0x55d7,_0x112727={'XLfVz':'Database\x20not\x20initialized.\x20Call\x20initializeDatabase()\x20first.'};if(!db)throw new Error(_0x112727['XLfVz']);const _0x5d2962=db['prepare'](_0x47644b);_0x1b3f1b[_0x5b107b(0x24b)]>0x0&&_0x5d2962['bind'](_0x1b3f1b);const _0x3e5b44=[];while(_0x5d2962['step']()){_0x3e5b44['push'](_0x5d2962[_0x5b107b(0x14d)]());}return _0x5d2962['free'](),_0x3e5b44;}function queryOne(_0x30e15a,_0x41056f=[]){const _0x1b5269=a0_0x55d7,_0x3587c4={'qbzgb':function(_0xd5ba3b,_0x526a9d){return _0xd5ba3b>_0x526a9d;}},_0x1d8ea7=queryAll(_0x30e15a,_0x41056f);return _0x3587c4[_0x1b5269(0x1e0)](_0x1d8ea7['length'],0x0)?_0x1d8ea7[0x0]:null;}function run(_0x3d4535,_0x10cab9=[]){const _0x3442c4=a0_0x55d7,_0x7cff88={'nOWec':_0x3442c4(0x1e5),'LCtqq':function(_0x2a517d){return _0x2a517d();}};if(!db)throw new Error(_0x7cff88[_0x3442c4(0x1cb)]);db['run'](_0x3d4535,_0x10cab9),_0x7cff88[_0x3442c4(0x219)](saveDatabase);}function a0_0x55d7(_0x4aea88,_0x597c79){_0x4aea88=_0x4aea88-0x100;const _0x41a38e=a0_0x41a3();let _0x55d70f=_0x41a38e[_0x4aea88];return _0x55d70f;}function runImmediate(_0x3b5d87,_0x135a39=[]){const _0x1ee040=a0_0x55d7;if(!db)throw new Error(_0x1ee040(0x1e5));db['run'](_0x3b5d87,_0x135a39),save();}var DATA_DIR,DB_PATH,db,SQL,_saveTimer,migrations,db_default,init_db=__esm({'server/db.js'(){const _0x1e8124=a0_0x55d7,_0x558659={'aapwR':_0x1e8124(0x131),'oWznq':_0x1e8124(0x191),'zuVUW':_0x1e8124(0x1f4),'bmOic':_0x1e8124(0x111),'Gfdtr':'ALTER\x20TABLE\x20templates\x20ADD\x20COLUMN\x20description\x20TEXT','dZOSg':'ALTER\x20TABLE\x20templates\x20ADD\x20COLUMN\x20is_builtin\x20INTEGER\x20DEFAULT\x200','OyCtK':_0x1e8124(0x1d7),'gwhag':'CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_license_keys_key_hash\x20ON\x20license_keys(key_hash)','vtjVH':_0x1e8124(0x182),'hgHyI':'CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_analytics_snapshots_type_period\x20ON\x20analytics_snapshots(snapshot_type,\x20period_start)','tdXnR':'CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_analytics_events_category\x20ON\x20analytics_events(event_category)','uiJvc':'CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_pcm_created\x20ON\x20personal_chat_messages(created_at)','pigLJ':'CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_pcm_role\x20ON\x20personal_chat_messages(role)','LwLWF':function(_0x1ae752){return _0x1ae752();}};_0x558659[_0x1e8124(0x207)](init_config),DATA_DIR=config_default[_0x1e8124(0x246)],DB_PATH=a0_0x15b81d['join'](DATA_DIR,config_default['dbFilename']),db=null,SQL=null,_saveTimer=null,migrations=[{'version':0x2,'up':_0x1c196d=>{const _0x1594e7=_0x1e8124;_0x1c196d[_0x1594e7(0x176)](_0x558659[_0x1594e7(0x24c)]),_0x1c196d['run'](_0x558659['oWznq']),_0x1c196d[_0x1594e7(0x176)]('ALTER\x20TABLE\x20usage\x20ADD\x20COLUMN\x20cost_source\x20TEXT\x20DEFAULT\x20\x27estimated\x27');}},{'version':0x3,'up':_0x344f8c=>{const _0x1bdb97=_0x1e8124;_0x344f8c['run'](_0x1bdb97(0x18c));}},{'version':0x4,'up':_0x4174aa=>{const _0x510cfd=_0x1e8124;_0x4174aa[_0x510cfd(0x176)]('\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'),_0x4174aa[_0x510cfd(0x176)](_0x510cfd(0x144)),_0x4174aa['run'](_0x558659[_0x510cfd(0x206)]);}},{'version':0x5,'up':_0xeaf2d7=>{try{_0xeaf2d7['run']('ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20last_activity_at\x20TEXT\x20DEFAULT\x20NULL');}catch(_0x4a0d1d){}}},{'version':0x6,'up':_0x2791b9=>{const _0x347901=_0x1e8124;try{_0x2791b9['run'](_0x558659[_0x347901(0x146)]);}catch(_0x111391){}}},{'version':0x7,'up':_0x224937=>{const _0x7bacc3=_0x1e8124;try{_0x224937[_0x7bacc3(0x176)]('ALTER\x20TABLE\x20snippets\x20DROP\x20COLUMN\x20is_pinned');}catch(_0x57ad3a){}try{_0x224937['run']('ALTER\x20TABLE\x20snippets\x20DROP\x20COLUMN\x20category');}catch(_0x1dad36){}}},{'version':0x8,'up':_0x1ea7af=>{const _0x46e817=_0x1e8124;_0x1ea7af[_0x46e817(0x176)](_0x46e817(0x1af)),_0x1ea7af[_0x46e817(0x176)](_0x46e817(0x170));}},{'version':0x9,'up':_0x2fc537=>{const _0x4b1f93=_0x1e8124;try{_0x2fc537['run']('ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20provider_session_id\x20TEXT');}catch(_0x3bd3fe){}_0x2fc537['run'](_0x4b1f93(0x1fc)),_0x2fc537['run']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_sessions_provider_session_id\x20ON\x20sessions(provider_session_id)');}},{'version':0xa,'up':_0x2d680a=>{const _0x141fb4=_0x1e8124;_0x2d680a['run']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20wizard_sessions\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20id\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20scan_results\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20selected_providers\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20install_results\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20created_at\x20INTEGER\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20completed_at\x20INTEGER\x0a\x20\x20\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20'),_0x2d680a[_0x141fb4(0x176)]('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_wizard_sessions_status\x20ON\x20wizard_sessions(status)');}},{'version':0xb,'up':_0x58e61f=>{const _0x2ab792=_0x1e8124;try{_0x58e61f[_0x2ab792(0x176)](_0x558659[_0x2ab792(0x134)]);}catch(_0xe3097){}try{_0x58e61f[_0x2ab792(0x176)]('ALTER\x20TABLE\x20templates\x20ADD\x20COLUMN\x20suggested_provider\x20TEXT');}catch(_0x27b733){}try{_0x58e61f['run']('ALTER\x20TABLE\x20templates\x20ADD\x20COLUMN\x20permission_mode\x20TEXT\x20DEFAULT\x20\x27default\x27');}catch(_0x151b86){}try{_0x58e61f['run'](_0x558659['dZOSg']);}catch(_0x32cbff){}}},{'version':0xc,'up':_0xb1446c=>{const _0x3367a2=_0x1e8124;_0xb1446c[_0x3367a2(0x176)]('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)');}},{'version':0xd,'up':_0x420635=>{const _0x1767b4=_0x1e8124;_0x420635['run']('\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'),_0x420635[_0x1767b4(0x176)](_0x1767b4(0x166));}},{'version':0xe,'up':_0x46d985=>{setupLogsFts(_0x46d985);}},{'version':0xf,'up':_0x29c71a=>{const _0x15d2ab=_0x1e8124;_0x29c71a[_0x15d2ab(0x176)]('\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'),_0x29c71a[_0x15d2ab(0x176)](_0x558659['OyCtK']),_0x29c71a['run']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_logs_archive_timestamp\x20ON\x20logs_archive(timestamp)');}},{'version':0x10,'up':_0xdb07f=>{const _0x821ec6=_0x1e8124;_0xdb07f['run'](_0x821ec6(0x194)),_0xdb07f[_0x821ec6(0x176)]('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_license_keys_status\x20ON\x20license_keys(status)'),_0xdb07f['run'](_0x558659[_0x821ec6(0x21c)]);}},{'version':0x11,'up':_0x5ea5a2=>{const _0x4fe690=_0x1e8124;_0x5ea5a2[_0x4fe690(0x176)]('ALTER\x20TABLE\x20projects\x20ADD\x20COLUMN\x20is_personal\x20INTEGER\x20NOT\x20NULL\x20DEFAULT\x200'),_0x5ea5a2[_0x4fe690(0x176)]('UPDATE\x20projects\x20SET\x20is_personal\x20=\x201\x20WHERE\x20name\x20=\x20\x27Personal\x27'),_0x5ea5a2[_0x4fe690(0x176)]('UPDATE\x20projects\x20SET\x20is_personal\x20=\x201\x20WHERE\x20description\x20=\x20\x27Virtual\x20project\x20for\x20non-coding\x20agents\x20(OpenClaw,\x20etc.)\x27');}},{'version':0x12,'up':_0x149394=>{_0x149394['run']('UPDATE\x20projects\x20SET\x20is_personal\x20=\x201\x20WHERE\x20name\x20=\x20\x27Personal\x27\x20AND\x20is_personal\x20=\x200');}},{'version':0x13,'up':_0x160e16=>{const _0x5be900=_0x1e8124,_0x15b9d6=[_0x5be900(0x21e),_0x5be900(0x26b),'ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20worktree_branch\x20TEXT','ALTER\x20TABLE\x20sessions\x20ADD\x20COLUMN\x20worktree_pinned\x20INTEGER\x20DEFAULT\x200',_0x5be900(0x116)];for(const _0x196900 of _0x15b9d6){try{_0x160e16[_0x5be900(0x176)](_0x196900);}catch(_0x440876){}}}},{'version':0x14,'up':_0x2ed0f5=>{const _0x35aec1=_0x1e8124,_0x566fa0=_0x35aec1(0x22b)['split']('|');let _0x16986a=0x0;while(!![]){switch(_0x566fa0[_0x16986a++]){case'0':_0x2ed0f5['run'](_0x35aec1(0x172));continue;case'1':_0x2ed0f5['run'](_0x35aec1(0x17a));continue;case'2':_0x2ed0f5[_0x35aec1(0x176)](_0x558659['vtjVH']);continue;case'3':_0x2ed0f5['run'](_0x558659['hgHyI']);continue;case'4':_0x2ed0f5['run']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_analytics_events_created\x20ON\x20analytics_events(created_at)');continue;case'5':_0x2ed0f5[_0x35aec1(0x176)](_0x558659['tdXnR']);continue;}break;}}},{'version':0x15,'up':_0x2677eb=>{const _0x47cb76=_0x1e8124;_0x2677eb[_0x47cb76(0x176)]('\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'),_0x2677eb[_0x47cb76(0x176)](_0x558659[_0x47cb76(0x23b)]),_0x2677eb[_0x47cb76(0x176)](_0x558659[_0x47cb76(0x203)]);}},{'version':0x16,'up':_0x1c9a48=>{const _0x24a9f1=_0x1e8124;_0x1c9a48['run']('\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'),_0x1c9a48[_0x24a9f1(0x176)](_0x24a9f1(0x202));}}],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_0x5eda4d from'crypto';function hashKey(_0xe15b25){const _0x51cafe=a0_0x55d7;return a0_0x5eda4d[_0x51cafe(0x1ca)](_0x51cafe(0x17b))[_0x51cafe(0x1e1)](_0xe15b25)['digest']('hex');}function generateKey(_0x22df7a,_0x170e1e=a0_0x551569(0x129),_0x529c43=null,_0x3ac448=null){const _0x5cdb2e=a0_0x551569,_0x40d679={'dXZce':_0x5cdb2e(0x142),'dnXug':function(_0x43267b,_0x4183e6){return _0x43267b!==_0x4183e6;},'OwELh':'Name\x20is\x20required','UOcwu':function(_0x3180c2,_0x4294f3){return _0x3180c2+_0x4294f3;},'OFDPH':'hex','hNPVg':function(_0x2ba48c,_0x1cbc61){return _0x2ba48c||_0x1cbc61;}},_0x395aa9=[_0x40d679['dXZce'],_0x5cdb2e(0x129),'beta'];if(!_0x395aa9['includes'](_0x170e1e))throw new Error(_0x5cdb2e(0x204)+_0x170e1e+_0x5cdb2e(0x12e)+_0x395aa9[_0x5cdb2e(0x17f)](',\x20'));if(!_0x22df7a||_0x40d679[_0x5cdb2e(0x10a)](typeof _0x22df7a,'string')||!_0x22df7a['trim']())throw new Error(_0x40d679[_0x5cdb2e(0x1e3)]);const _0x2740fc=a0_0x5eda4d[_0x5cdb2e(0x16e)](),_0x29a5bc=_0x40d679['UOcwu'](KEY_PREFIX,a0_0x5eda4d[_0x5cdb2e(0x1b6)](0x10)['toString'](_0x40d679[_0x5cdb2e(0x224)])),_0x2403dc=hashKey(_0x29a5bc);return run('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?)',[_0x2740fc,_0x22df7a[_0x5cdb2e(0x254)](),_0x2403dc,_0x170e1e,_0x529c43||null,_0x40d679[_0x5cdb2e(0x16b)](_0x3ac448,null)]),{'id':_0x2740fc,'raw':_0x29a5bc,'type':_0x170e1e,'name':_0x22df7a['trim']()};}function validateKey(_0x3e45c2){const _0x2eea82=a0_0x551569,_0x1f2b06={'aEFdN':function(_0x1315da,_0x2dbf26){return _0x1315da!==_0x2dbf26;},'OdMBj':'string','FvoVh':function(_0x1c6872,_0x251588){return _0x1c6872(_0x251588);}};if(!_0x3e45c2||_0x1f2b06[_0x2eea82(0x245)](typeof _0x3e45c2,_0x1f2b06['OdMBj']))return null;const _0x43db53=_0x1f2b06['FvoVh'](hashKey,_0x3e45c2[_0x2eea82(0x254)]()),_0xd037=queryOne('SELECT\x20id,\x20name,\x20type,\x20status,\x20expires_at,\x20created_at\x20FROM\x20license_keys\x20WHERE\x20key_hash\x20=\x20?',[_0x43db53]);if(!_0xd037)return null;if(_0x1f2b06[_0x2eea82(0x245)](_0xd037[_0x2eea82(0x13e)],'active'))return null;if(_0xd037[_0x2eea82(0x268)]){const _0x39771c=new Date(_0xd037[_0x2eea82(0x268)])[_0x2eea82(0x213)]();if(_0x39771c<Date[_0x2eea82(0x169)]())return null;}return{'id':_0xd037['id'],'name':_0xd037[_0x2eea82(0x10b)],'type':_0xd037['type'],'status':_0xd037[_0x2eea82(0x13e)],'expires_at':_0xd037[_0x2eea82(0x268)],'created_at':_0xd037['created_at']};}function listKeys(_0x582b62={}){const _0x3f4805=a0_0x551569,_0x4f73d2={'Mhnxc':'\x20AND\x20type\x20=\x20?','kepMh':'\x20AND\x20status\x20=\x20?'};let _0x3a9fa5=_0x3f4805(0x22e);const _0xab12ff=[];_0x582b62[_0x3f4805(0x231)]&&(_0x3a9fa5+=_0x4f73d2[_0x3f4805(0x21d)],_0xab12ff[_0x3f4805(0x1c9)](_0x582b62['type']));_0x582b62['status']&&(_0x3a9fa5+=_0x4f73d2['kepMh'],_0xab12ff['push'](_0x582b62['status']));_0x3a9fa5+='\x20ORDER\x20BY\x20created_at\x20DESC';const _0x4d7603=Math['min'](Math['max'](parseInt(_0x582b62[_0x3f4805(0x1f8)])||0x32,0x1),0x1f4);_0x3a9fa5+='\x20LIMIT\x20?',_0xab12ff['push'](_0x4d7603);const _0x271ad9=queryAll(_0x3a9fa5,_0xab12ff),_0x3c810a=_0x271ad9['map'](_0x4423b7=>({'id':_0x4423b7['id'],'name':_0x4423b7[_0x3f4805(0x10b)],'type':_0x4423b7[_0x3f4805(0x231)],'status':_0x4423b7[_0x3f4805(0x13e)]==='active'?'ACTIVE':'SUSPENDED','key':_0x4423b7['id']['slice'](0x0,0x8)+'****','email':_0x4423b7[_0x3f4805(0x233)],'expiry':_0x4423b7[_0x3f4805(0x268)],'created_at':_0x4423b7['created_at'],'revoked_at':_0x4423b7['revoked_at']}));return{'keys':_0x3c810a};}function revokeKey(_0x555b79){const _0x257ba5=a0_0x551569,_0x37608a={'Ytjcl':function(_0x183ce9,_0x1aec29,_0x51505b){return _0x183ce9(_0x1aec29,_0x51505b);},'pJUUj':'Key\x20not\x20found','UioLr':'Key\x20is\x20already\x20revoked','QqfQv':function(_0x378760,_0x5836f8,_0x5f43f1){return _0x378760(_0x5836f8,_0x5f43f1);}};if(!_0x555b79)throw new Error(_0x257ba5(0x1c4));const _0x5c0aaa=_0x37608a['Ytjcl'](queryOne,'SELECT\x20id,\x20status\x20FROM\x20license_keys\x20WHERE\x20id\x20=\x20?',[_0x555b79]);if(!_0x5c0aaa)throw new Error(_0x37608a[_0x257ba5(0x106)]);if(_0x5c0aaa['status']==='revoked')throw new Error(_0x37608a['UioLr']);return _0x37608a['QqfQv'](run,'UPDATE\x20license_keys\x20SET\x20status\x20=\x20\x27revoked\x27,\x20revoked_at\x20=\x20datetime(\x27now\x27)\x20WHERE\x20id\x20=\x20?',[_0x555b79]),{'success':!![]};}function getKeyStats(){const _0x509447=a0_0x551569,_0x99662d={'oStXV':_0x509447(0x158),'MlvSJ':function(_0x3919a4,_0x459810){return _0x3919a4(_0x459810);},'WxgcP':function(_0x1fbf68,_0x184ea2){return _0x1fbf68(_0x184ea2);},'sZkNV':'SELECT\x20type,\x20COUNT(*)\x20as\x20count\x20FROM\x20license_keys\x20WHERE\x20status\x20=\x20\x27active\x27\x20GROUP\x20BY\x20type'},_0xe98dde=queryOne(_0x509447(0x192)),_0xc787fe=queryOne(_0x99662d['oStXV']),_0x897715=_0x99662d[_0x509447(0x23d)](queryOne,_0x509447(0x147)),_0x4d8429=_0x99662d[_0x509447(0x188)](queryAll,_0x99662d['sZkNV']),_0x189b77={};for(const _0x28d515 of _0x4d8429){_0x189b77[_0x28d515['type']]=_0x28d515['count'];}return{'totalKeys':_0xe98dde?.['count']||0x0,'activeKeys':_0xc787fe?.['count']||0x0,'revokedKeys':_0x897715?.[_0x509447(0x1aa)]||0x0,'byType':_0x189b77};}function exportKeysCSV(){const _0x3a8e7d=a0_0x551569,_0x48ba5e={'SGpEb':function(_0x2abe1a,_0x4a7f05){return _0x2abe1a(_0x4a7f05);},'nABLT':_0x3a8e7d(0x250)},_0x57a2e1=_0x48ba5e[_0x3a8e7d(0x167)](queryAll,_0x3a8e7d(0x15a)),_0x1fff56=_0x48ba5e[_0x3a8e7d(0x151)],_0x253a07=_0x57a2e1['map'](_0x53b07c=>{const _0x1026f0=_0x3a8e7d;return[_0x53b07c['id'],'\x22'+(_0x53b07c[_0x1026f0(0x10b)]||'')['replace'](/"/g,'\x22\x22')+'\x22',_0x53b07c[_0x1026f0(0x231)],_0x53b07c[_0x1026f0(0x13e)],_0x53b07c['email']||'',_0x53b07c[_0x1026f0(0x268)]||'',_0x53b07c[_0x1026f0(0x1c0)]||'',_0x53b07c[_0x1026f0(0x248)]||''][_0x1026f0(0x17f)](',');});return[_0x1fff56,..._0x253a07]['join']('\x0a');}var KEY_PREFIX,init_key_manager=__esm({'server/key-manager.js'(){const _0x5391b3=a0_0x551569;init_db(),KEY_PREFIX=_0x5391b3(0x200);}});import a0_0x39a562 from'path';import{fileURLToPath as a0_0x4caa0d}from'url';var supportsColor=((()=>{const _0x2cecea=a0_0x551569,_0x1036ab={'qBTTC':function(_0x255bfc,_0x5e5437){return _0x255bfc===_0x5e5437;}};if(process[_0x2cecea(0x117)]['NO_COLOR'])return![];if(_0x1036ab[_0x2cecea(0x1f3)](process[_0x2cecea(0x117)][_0x2cecea(0x21f)],'1'))return!![];return!!process[_0x2cecea(0x223)][_0x2cecea(0x23f)];})());function makeColors(_0x2345d1){const _0x15285d=a0_0x551569,_0x2f60e4={'bphhH':'\x1b[0m','QcECP':'\x1b[38;5;214m','KGCYp':_0x15285d(0x205),'IfXKL':_0x15285d(0x107)};if(!_0x2345d1)return{'reset':'','brand':'','heading':'','success':'','error':'','warn':'','info':'','muted':'','value':'','cmd':'','url':''};return{'reset':_0x2f60e4['bphhH'],'brand':_0x2f60e4['QcECP'],'heading':_0x15285d(0x260),'success':_0x15285d(0x18b),'error':_0x15285d(0x1ad),'warn':_0x2f60e4[_0x15285d(0x119)],'info':_0x2f60e4[_0x15285d(0x118)],'muted':_0x15285d(0x128),'value':_0x15285d(0x115),'cmd':_0x15285d(0x107),'url':_0x2f60e4['IfXKL']};}var c=makeColors(supportsColor),icons={'pass':c[a0_0x551569(0x11e)]+'✓'+c[a0_0x551569(0x1a7)],'fail':c[a0_0x551569(0x1f6)]+'✗'+c[a0_0x551569(0x1a7)],'warn':c['warn']+'⚠'+c[a0_0x551569(0x1a7)],'arrow':c[a0_0x551569(0x24d)]+'→'+c['reset'],'dot':c['brand']+'•'+c['reset']};function brandName(_0x7dba15=a0_0x551569(0x148)){const _0x246981=a0_0x551569,_0x43f84b=c['heading']+'co'+c['brand']+':'+c[_0x246981(0x1d1)]+_0x246981(0x261)+c[_0x246981(0x1a7)];if(_0x7dba15==='prefix')return'['+_0x43f84b+']';return _0x43f84b;}var __dirname2=a0_0x39a562['dirname'](a0_0x4caa0d(import.meta.url));function parseArgs(_0x28f7f4){const _0x42c388=a0_0x551569,_0x56d16c={'cxMaG':function(_0x4d41b0,_0x233fc4){return _0x4d41b0+_0x233fc4;},'iJYfL':function(_0xa0be44,_0x30bee7){return _0xa0be44+_0x30bee7;}},_0x5635ed=_0x28f7f4['slice'](0x2),_0x241aaa=_0x5635ed[0x0],_0x34b26d=[],_0x502d2a={};for(let _0x268e14=0x1;_0x268e14<_0x5635ed['length'];_0x268e14++){if(_0x5635ed[_0x268e14]['startsWith']('--')){let _0x30639a=_0x5635ed[_0x268e14]['slice'](0x2),_0x158070;const _0x4d4c87=_0x30639a['indexOf']('=');_0x4d4c87!==-0x1?(_0x158070=_0x30639a['slice'](_0x56d16c[_0x42c388(0x199)](_0x4d4c87,0x1)),_0x30639a=_0x30639a['slice'](0x0,_0x4d4c87)):_0x158070=_0x56d16c['cxMaG'](_0x268e14,0x1)<_0x5635ed[_0x42c388(0x24b)]&&!_0x5635ed[_0x56d16c[_0x42c388(0x22f)](_0x268e14,0x1)]['startsWith']('--')?_0x5635ed[++_0x268e14]:'true',_0x502d2a[_0x30639a]=_0x158070;}else _0x34b26d['push'](_0x5635ed[_0x268e14]);}return{'command':_0x241aaa,'flags':_0x502d2a,'positional':_0x34b26d};}function maskKey(_0x5aff5b){const _0x7ccab7=a0_0x551569,_0x486ad7={'DoScg':function(_0x5887c2,_0x401bc){return _0x5887c2<=_0x401bc;},'OiBZZ':function(_0xa3b7de,_0x237c4f){return _0xa3b7de+_0x237c4f;},'ldBda':'****'};if(!_0x5aff5b||_0x486ad7[_0x7ccab7(0x211)](_0x5aff5b['length'],0x8))return'****';return _0x486ad7[_0x7ccab7(0x201)](_0x5aff5b[_0x7ccab7(0x104)](0x0,0x4),_0x486ad7[_0x7ccab7(0x177)]);}var DEFAULT_PORT=0x2694,MAX_PORT_SCAN=0x64;async function findRunningServer(){const _0xfa969c=a0_0x551569,_0x39273b={'RNmZW':function(_0x587a29,_0x106dbc,_0xa0abb4){return _0x587a29(_0x106dbc,_0xa0abb4);},'lkmuu':function(_0x1285a1,_0x5085e0){return _0x1285a1===_0x5085e0;}};for(let _0x536f3c=0x0;_0x536f3c<MAX_PORT_SCAN;_0x536f3c++){const _0x594117=DEFAULT_PORT+_0x536f3c;try{const _0x253977=await _0x39273b[_0xfa969c(0x12d)](fetch,_0xfa969c(0x11f)+_0x594117+'/api/health',{'signal':AbortSignal[_0xfa969c(0x21a)](0x1f4)});if(_0x253977['ok']){const _0x420adf=await _0x253977['json']();if(_0x39273b['lkmuu'](_0x420adf['status'],'ok'))return'http://127.0.0.1:'+_0x594117;}}catch{}}return null;}async function createKeyViaApi(_0x1b82ac,_0x4653ca){const _0x3f4cc0=a0_0x551569,_0x18614e={'DNGLw':_0x3f4cc0(0x187),'FQcuH':'application/json'},_0x2176a3=await fetch(_0x1b82ac+'/api/admin/keys',{'method':_0x18614e['DNGLw'],'headers':{'Content-Type':_0x18614e[_0x3f4cc0(0x214)]},'body':JSON['stringify'](_0x4653ca)});if(!_0x2176a3['ok']){const _0x3b3c74=await _0x2176a3[_0x3f4cc0(0x235)]()['catch'](()=>({'error':_0x3f4cc0(0x156)+_0x2176a3[_0x3f4cc0(0x13e)]}));throw new Error(_0x3b3c74['error']||_0x3f4cc0(0x15d)+_0x2176a3['status']);}return _0x2176a3[_0x3f4cc0(0x235)]();}async function listKeysViaApi(_0x2e9da6,_0x13c43b){const _0x195ee5=a0_0x551569,_0x30869e={'FLDXA':_0x195ee5(0x13e)},_0x4ba581=new URLSearchParams();if(_0x13c43b[_0x195ee5(0x231)])_0x4ba581['set'](_0x195ee5(0x231),_0x13c43b['type']);if(_0x13c43b[_0x195ee5(0x13e)])_0x4ba581[_0x195ee5(0x234)](_0x30869e[_0x195ee5(0x1b0)],_0x13c43b[_0x195ee5(0x13e)]);const _0x3f3757=_0x4ba581[_0x195ee5(0x241)](),_0x32f56d=await fetch(_0x2e9da6+_0x195ee5(0x113)+(_0x3f3757?'?'+_0x3f3757:''));if(!_0x32f56d['ok']){const _0x121e01=await _0x32f56d['json']()['catch'](()=>({'error':'HTTP\x20'+_0x32f56d[_0x195ee5(0x13e)]}));throw new Error(_0x121e01['error']||_0x195ee5(0x15d)+_0x32f56d['status']);}return _0x32f56d['json']();}async function revokeKeyViaApi(_0x3c15c9,_0x4a6d2a){const _0x437120=a0_0x551569,_0x448896=await fetch(_0x3c15c9+_0x437120(0x22a)+_0x4a6d2a,{'method':_0x437120(0x195)});if(!_0x448896['ok']){const _0x3452bc=await _0x448896[_0x437120(0x235)]()[_0x437120(0x1f1)](()=>({'error':_0x437120(0x156)+_0x448896[_0x437120(0x13e)]}));throw new Error(_0x3452bc[_0x437120(0x1f6)]||_0x437120(0x15d)+_0x448896[_0x437120(0x13e)]);}return _0x448896[_0x437120(0x235)]();}var _dbReady=![];async function ensureDb(){const _0x47b835=a0_0x551569;if(_dbReady)return;const {getDb:_0xa7c8e6}=await Promise['resolve']()[_0x47b835(0x25b)](()=>(init_db(),db_exports));await _0xa7c8e6(),_dbReady=!![];}async function createKey(_0x436463){const _0x581692=a0_0x551569,_0x569785={'MkNHT':'staff','gIHrK':_0x581692(0x17c),'vinII':function(_0x186036){return _0x186036();},'mKWKy':function(_0x3d0d1b,_0x321fc5){return _0x3d0d1b||_0x321fc5;},'pGier':function(_0x1bceff,_0x14382d,_0x296986,_0x5d438a,_0x3881e6){return _0x1bceff(_0x14382d,_0x296986,_0x5d438a,_0x3881e6);}},_0x1221bc=_0x436463['name'],_0x171db7=_0x436463['type']||_0x581692(0x129),_0x7c946f=_0x436463['email']||null,_0x35114c=_0x436463['expires']||null;if(!_0x1221bc){console['error'](_0x581692(0x253)+icons['fail']+'\x20'+c['error']+_0x581692(0x208)+c['reset']+'\x0a'),console[_0x581692(0x1f6)]('\x20\x20Usage:\x20colana\x20admin\x20create-key\x20--name\x20\x22Sarah\x22\x20--type\x20staff\x20[--email\x20x]\x20[--expires\x202026-12-31]\x0a'),process[_0x581692(0x216)](0x1);return;}const _0x4a6091=[_0x581692(0x142),_0x569785['MkNHT'],_0x569785['gIHrK']];if(!_0x4a6091['includes'](_0x171db7)){console[_0x581692(0x1f6)]('\x0a\x20\x20'+icons['fail']+'\x20'+c[_0x581692(0x1f6)]+'ERROR:\x20Invalid\x20type\x20\x22'+_0x171db7+'\x22.\x20Must\x20be\x20one\x20of:\x20'+_0x4a6091[_0x581692(0x17f)](',\x20')+c[_0x581692(0x1a7)]+'\x0a'),process[_0x581692(0x216)](0x1);return;}const _0x5c7583=await _0x569785[_0x581692(0x11d)](findRunningServer);let _0x2767b1;if(_0x5c7583)try{_0x2767b1=await createKeyViaApi(_0x5c7583,{'name':_0x1221bc,'type':_0x171db7,'email':_0x569785['mKWKy'](_0x7c946f,void 0x0),'expires':_0x35114c||void 0x0});}catch(_0x291b10){console['error']('\x0a\x20\x20'+icons['fail']+'\x20'+c[_0x581692(0x1f6)]+_0x291b10[_0x581692(0x100)]+c[_0x581692(0x1a7)]+'\x20'+c[_0x581692(0x1a9)]+'(via\x20server)'+c[_0x581692(0x1a7)]+'\x0a'),process['exit'](0x1);return;}else{await ensureDb();const {generateKey:_0x46caed}=await Promise['resolve']()[_0x581692(0x25b)](()=>(init_key_manager(),key_manager_exports));try{_0x2767b1=_0x569785['pGier'](_0x46caed,_0x1221bc,_0x171db7,_0x7c946f,_0x35114c);}catch(_0x321e39){console[_0x581692(0x1f6)]('\x0a\x20\x20'+icons['fail']+'\x20'+c[_0x581692(0x1f6)]+_0x321e39[_0x581692(0x100)]+c['reset']+'\x0a'),process[_0x581692(0x216)](0x1);return;}}if(!_0x2767b1||!_0x2767b1['name']){console['error']('\x0a\x20\x20'+icons[_0x581692(0x1a1)]+'\x20'+c['error']+_0x581692(0x1cd)+c['reset']+'\x0a'),process['exit'](0x1);return;}console[_0x581692(0x228)](''),console['log']('\x20\x20'+icons[_0x581692(0x1ac)]+'\x20Key\x20generated\x20successfully!'),console[_0x581692(0x228)]('\x20\x20'+c[_0x581692(0x1a9)]+'─'['repeat'](0x28)+c['reset']),console[_0x581692(0x228)](_0x581692(0x1f2)+c['muted']+_0x581692(0x198)+c[_0x581692(0x1a7)]+'\x20\x20\x20\x20'+c[_0x581692(0x1b5)]+_0x2767b1['name']+c[_0x581692(0x1a7)]),console['log']('\x20\x20\x20\x20'+c[_0x581692(0x1a9)]+'Type:'+c[_0x581692(0x1a7)]+'\x20\x20\x20\x20'+c[_0x581692(0x1b5)]+_0x2767b1['type']+c['reset']),console[_0x581692(0x228)]('\x20\x20\x20\x20'+c[_0x581692(0x1a9)]+_0x581692(0x1d2)+c[_0x581692(0x1a7)]+'\x20\x20\x20\x20\x20\x20'+c[_0x581692(0x1b5)]+_0x2767b1['id']+c['reset']),console['log']('\x20\x20\x20\x20'+c[_0x581692(0x1a9)]+_0x581692(0x1bc)+c[_0x581692(0x1a7)]+_0x581692(0x236)+c['warn']+_0x2767b1['raw']+c[_0x581692(0x1a7)]),console[_0x581692(0x228)]('\x20\x20'+c['muted']+'─'[_0x581692(0x1a8)](0x28)+c[_0x581692(0x1a7)]),console['log']('\x20\x20'+c[_0x581692(0x1a3)]+_0x581692(0x1d0)+c[_0x581692(0x1a7)]),_0x5c7583?console['log']('\x20\x20'+c[_0x581692(0x1a9)]+_0x581692(0x22d)+c['reset']):console[_0x581692(0x228)]('\x20\x20'+c[_0x581692(0x1a9)]+'(Created\x20via\x20direct\x20DB\x20—\x20restart\x20server\x20to\x20pick\x20up)'+c['reset']),console[_0x581692(0x228)]('');}async function listKeysCmd(_0x2dee56){const _0x54b1b2=a0_0x551569,_0x126be0={'wbxZk':function(_0x32e057,_0x370673,_0x5c3351){return _0x32e057(_0x370673,_0x5c3351);},'qbTIT':'Type','ynhsX':'Status','iBPTf':_0x54b1b2(0x249),'uELfc':'Never'},_0x5662c5={};if(_0x2dee56['type'])_0x5662c5[_0x54b1b2(0x231)]=_0x2dee56['type'];if(_0x2dee56['status'])_0x5662c5['status']=_0x2dee56[_0x54b1b2(0x13e)];const _0x24629f=await findRunningServer();let _0x4c56da;if(_0x24629f)try{_0x4c56da=await _0x126be0[_0x54b1b2(0x1fb)](listKeysViaApi,_0x24629f,_0x5662c5);}catch(_0x5ac038){console['error']('\x0a\x20\x20'+icons['fail']+'\x20'+c[_0x54b1b2(0x1f6)]+_0x5ac038[_0x54b1b2(0x100)]+c[_0x54b1b2(0x1a7)]+'\x20'+c['muted']+'(via\x20server)'+c[_0x54b1b2(0x1a7)]+'\x0a'),process[_0x54b1b2(0x216)](0x1);return;}else{await ensureDb();const {listKeys:_0x1d25b7}=await Promise[_0x54b1b2(0x264)]()['then'](()=>(init_key_manager(),key_manager_exports));_0x4c56da=_0x1d25b7(_0x5662c5);}if(!_0x4c56da||!_0x4c56da['keys']||!_0x4c56da[_0x54b1b2(0x24a)][_0x54b1b2(0x24b)]){console[_0x54b1b2(0x228)](_0x54b1b2(0x23a));return;}console[_0x54b1b2(0x228)](''),console['log']('\x20\x20'+c['heading']+_0x54b1b2(0x1a5)+c[_0x54b1b2(0x1a7)]),console[_0x54b1b2(0x228)]('\x20\x20'+c['muted']+'─'[_0x54b1b2(0x1a8)](0x50)+c['reset']),console[_0x54b1b2(0x228)]('\x20\x20'+c['muted']+'ID'[_0x54b1b2(0x19d)](0xa)+'Name'[_0x54b1b2(0x19d)](0x14)+_0x126be0[_0x54b1b2(0x229)][_0x54b1b2(0x19d)](0xa)+_0x126be0['ynhsX'][_0x54b1b2(0x19d)](0xa)+_0x126be0[_0x54b1b2(0x135)][_0x54b1b2(0x19d)](0xf)+'Created'+c[_0x54b1b2(0x1a7)]),console[_0x54b1b2(0x228)]('\x20\x20'+c['muted']+'─'[_0x54b1b2(0x1a8)](0x50)+c[_0x54b1b2(0x1a7)]);for(const _0x182cc7 of _0x4c56da['keys']){const _0x4ce6be=(_0x182cc7['id']||'')['slice'](0x0,0x8),_0x33132f=(_0x182cc7[_0x54b1b2(0x10b)]||'')['slice'](0x0,0x12)['padEnd'](0x14),_0xd9fd47=(_0x182cc7[_0x54b1b2(0x231)]||'')[_0x54b1b2(0x19d)](0xa),_0x247c5e=(_0x182cc7['status']||'')[_0x54b1b2(0x19d)](0xa),_0x5b3033=(_0x182cc7[_0x54b1b2(0x258)]?new Date(_0x182cc7['expiry'])['toLocaleDateString']():_0x126be0['uELfc'])['padEnd'](0xf),_0x5f5682=_0x182cc7['created_at']?new Date(_0x182cc7[_0x54b1b2(0x1c0)])['toLocaleDateString']():'-';console[_0x54b1b2(0x228)]('\x20\x20'+_0x4ce6be['padEnd'](0xa)+_0x33132f+_0xd9fd47+_0x247c5e+_0x5b3033+_0x5f5682);}console[_0x54b1b2(0x228)]('\x20\x20'+c[_0x54b1b2(0x1a9)]+'─'[_0x54b1b2(0x1a8)](0x50)+c[_0x54b1b2(0x1a7)]),console['log']('\x20\x20'+c[_0x54b1b2(0x1a9)]+_0x54b1b2(0x227)+_0x4c56da[_0x54b1b2(0x24a)]['length']+'\x20key(s)'+c['reset']+'\x0a');}async function revokeKeyCmd(_0x397c49){const _0x2b38ca=a0_0x551569,_0x4fcf6d={'AGZfl':'\x20\x20Usage:\x20colana\x20admin\x20revoke-key\x20<id>\x0a','jLrvk':function(_0x214216){return _0x214216();}},_0xcb4ef5=_0x397c49[0x0];if(!_0xcb4ef5){console['error'](_0x2b38ca(0x253)+icons[_0x2b38ca(0x1a1)]+'\x20'+c[_0x2b38ca(0x1f6)]+'ERROR:\x20Key\x20ID\x20is\x20required.'+c[_0x2b38ca(0x1a7)]+'\x0a'),console['error'](_0x4fcf6d[_0x2b38ca(0x171)]),process[_0x2b38ca(0x216)](0x1);return;}const _0x2cb99a=await _0x4fcf6d[_0x2b38ca(0x11c)](findRunningServer);if(_0x2cb99a)try{await revokeKeyViaApi(_0x2cb99a,_0xcb4ef5),console['log']('\x0a\x20\x20'+icons['pass']+_0x2b38ca(0x174)+c[_0x2b38ca(0x1b5)]+_0xcb4ef5+c['reset']+_0x2b38ca(0x1f9));}catch(_0x47df51){console['error'](_0x2b38ca(0x253)+icons['fail']+'\x20'+c['error']+_0x47df51[_0x2b38ca(0x100)]+c[_0x2b38ca(0x1a7)]+'\x20'+c[_0x2b38ca(0x1a9)]+'(via\x20server)'+c['reset']+'\x0a'),process['exit'](0x1);return;}else{await ensureDb();const {revokeKey:_0x242ed1}=await Promise[_0x2b38ca(0x264)]()['then'](()=>(init_key_manager(),key_manager_exports));try{_0x242ed1(_0xcb4ef5),console[_0x2b38ca(0x228)](_0x2b38ca(0x253)+icons['pass']+_0x2b38ca(0x174)+c['value']+_0xcb4ef5+c['reset']+'\x20has\x20been\x20revoked.\x0a');}catch(_0x341dbc){console['error'](_0x2b38ca(0x253)+icons['fail']+'\x20'+c['error']+_0x341dbc[_0x2b38ca(0x100)]+c['reset']+'\x0a'),process[_0x2b38ca(0x216)](0x1);return;}}}function showHelp(){const _0x3afe2a=a0_0x551569;console[_0x3afe2a(0x228)](_0x3afe2a(0x253)+brandName()+'\x20'+c[_0x3afe2a(0x1a9)]+_0x3afe2a(0x18e)+c[_0x3afe2a(0x1a7)]+_0x3afe2a(0x10d)+c['heading']+_0x3afe2a(0x1d4)+c['reset']+_0x3afe2a(0x1ef)+c[_0x3afe2a(0x1b7)]+'colana\x20admin\x20doctor'+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']+_0x3afe2a(0x1e9)+c[_0x3afe2a(0x1a7)]+'\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[_0x3afe2a(0x1b7)]+_0x3afe2a(0x26c)+c[_0x3afe2a(0x1a7)]+_0x3afe2a(0x102)+c['muted']+'--name\x20\x22Name\x22'+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[_0x3afe2a(0x1a9)]+'--type\x20staff|admin|beta'+c['reset']+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Key\x20type\x20(default:\x20staff)\x0a\x20\x20\x20\x20\x20\x20'+c['muted']+'--email\x20user@example.com'+c[_0x3afe2a(0x1a7)]+_0x3afe2a(0x1b4)+c[_0x3afe2a(0x1a9)]+_0x3afe2a(0x157)+c['reset']+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Expiry\x20date\x20(optional)\x0a\x20\x20\x20\x20'+c['cmd']+'colana\x20admin\x20list-keys'+c[_0x3afe2a(0x1a7)]+_0x3afe2a(0x244)+c['muted']+_0x3afe2a(0x16f)+c['reset']+_0x3afe2a(0x1f5)+c[_0x3afe2a(0x1a9)]+_0x3afe2a(0x14f)+c[_0x3afe2a(0x1a7)]+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Filter\x20by\x20status\x0a\x20\x20\x20\x20'+c['cmd']+_0x3afe2a(0x25a)+c[_0x3afe2a(0x1a7)]+_0x3afe2a(0x1ea)+c[_0x3afe2a(0x1a9)]+_0x3afe2a(0x1ab)+c[_0x3afe2a(0x1a7)]+_0x3afe2a(0x1ef)+c['url']+_0x3afe2a(0x1ae)+c['reset']+'\x0a');}function doctor(){const _0x4ea764=a0_0x551569;console[_0x4ea764(0x228)](_0x4ea764(0x193));}function staffKeys(){const _0x3f54a4=a0_0x551569,_0x6ef0b1={'JdHWU':function(_0x1ed761,_0x1f4f59){return _0x1ed761+_0x1f4f59;},'uyGQg':function(_0x55eb00,_0x19aef0){return _0x55eb00(_0x19aef0);},'NWzJo':function(_0x5c0c75,_0x39c0f9){return _0x5c0c75===_0x39c0f9;},'pJimA':function(_0x97d74f,_0x5c281e){return _0x97d74f>_0x5c281e;}},_0x1e4392=process[_0x3f54a4(0x117)][_0x3f54a4(0x122)]||'',_0x2f0045=process['env']['ADMIN_KEYS']||'',_0x1394bd=_0x1e4392['split'](',')['map'](_0x1aec0e=>_0x1aec0e['trim']())[_0x3f54a4(0x257)](Boolean),_0x4a8270=_0x2f0045[_0x3f54a4(0x137)](',')[_0x3f54a4(0x153)](_0x2289fe=>_0x2289fe['trim']())[_0x3f54a4(0x257)](Boolean);if(_0x6ef0b1[_0x3f54a4(0x230)](_0x1394bd[_0x3f54a4(0x24b)],0x0)&&_0x4a8270['length']===0x0){console['log']('\x0a\x20\x20No\x20staff\x20or\x20admin\x20keys\x20configured.\x20Set\x20STAFF_KEYS\x20or\x20ADMIN_KEYS\x20environment\x20variable.\x0a');return;}console['log'](''),_0x6ef0b1[_0x3f54a4(0x11b)](_0x1394bd['length'],0x0)&&(console['log']('\x20\x20'+c[_0x3f54a4(0x1d1)]+'Staff\x20Keys:'+c['reset']),console[_0x3f54a4(0x228)]('\x20\x20'+c['muted']+'─'['repeat'](0xa)+c['reset']),_0x1394bd['forEach']((_0x4c2730,_0x55b19c)=>{const _0x2be764=_0x3f54a4;console[_0x2be764(0x228)](_0x2be764(0x1f2)+_0x6ef0b1[_0x2be764(0x1ee)](_0x55b19c,0x1)+'.\x20'+_0x6ef0b1['uyGQg'](maskKey,_0x4c2730)+_0x2be764(0x12c));}),console[_0x3f54a4(0x228)]('')),_0x4a8270[_0x3f54a4(0x24b)]>0x0&&(console['log']('\x20\x20'+c['heading']+_0x3f54a4(0x269)+c[_0x3f54a4(0x1a7)]),console['log']('\x20\x20'+c[_0x3f54a4(0x1a9)]+'─'['repeat'](0xa)+c[_0x3f54a4(0x1a7)]),_0x4a8270['forEach']((_0x599ce4,_0x2f6b93)=>{const _0x38948d=_0x3f54a4;console[_0x38948d(0x228)](_0x38948d(0x1f2)+(_0x2f6b93+0x1)+'.\x20'+maskKey(_0x599ce4)+_0x38948d(0x136));}),console['log']('')),console[_0x3f54a4(0x228)](_0x3f54a4(0x1ce));}async function main(){const _0x366933=a0_0x551569,_0x5bae32={'kgtAD':function(_0x26335f,_0x2ec161){return _0x26335f(_0x2ec161);},'RPiOB':'help','YjhjF':_0x366933(0x20e),'PWWgz':function(_0x4f6c12){return _0x4f6c12();},'lNCEQ':'list-keys'},{command:_0x5da70f,flags:_0x4c0574,positional:_0x17380c}=_0x5bae32[_0x366933(0x1e8)](parseArgs,process[_0x366933(0x259)]);if(!_0x5da70f||_0x5da70f===_0x5bae32[_0x366933(0x1c5)]||_0x5da70f==='--help'){showHelp();return;}switch(_0x5da70f){case'doctor':return doctor();case _0x5bae32[_0x366933(0x1cf)]:return _0x5bae32['PWWgz'](staffKeys);case _0x366933(0x168):return createKey(_0x4c0574);case _0x5bae32['lNCEQ']:return _0x5bae32['kgtAD'](listKeysCmd,_0x4c0574);case _0x366933(0x149):return revokeKeyCmd(_0x17380c);default:console[_0x366933(0x1f6)]('\x20\x20'+icons[_0x366933(0x1a1)]+_0x366933(0x14b)+c[_0x366933(0x1b5)]+_0x5da70f+c['reset']),console[_0x366933(0x1f6)]('\x20\x20'+c[_0x366933(0x1a9)]+'Run\x20\x22colana\x20admin\x20help\x22\x20for\x20usage.'+c['reset']),process['exit'](0x1);return;}}main()['catch'](_0x105204=>{const _0x1d0abd=a0_0x551569;console[_0x1d0abd(0x1f6)]('\x20\x20'+icons['fail']+'\x20'+c['error']+(_0x105204[_0x1d0abd(0x100)]||_0x105204)+c[_0x1d0abd(0x1a7)]),process[_0x1d0abd(0x216)](0x1);});
|
|
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);});
|