monster-orchestrator 3.3.0 → 3.4.0
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/dist-obf/.buildinfo +5 -5
- package/dist-obf/governor-tick.js +1 -1
- package/dist-obf/index.js +1 -1
- package/dist-obf/manifest.json +10 -2
- package/dist-obf/package.json +4 -4
- package/dist-obf/supervisor-notify-tick.js +1 -1
- package/manifest.json +10 -2
- package/package.json +1 -1
package/dist-obf/manifest.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"mcpId": "monster-orchestrator",
|
|
3
3
|
"name": "Monster Orchestrator",
|
|
4
|
-
"version": "3.
|
|
5
|
-
"description": "Claude Code CLI を独立サブプロセス(tmux session)として起動・送信・監視・停止する。v2.0.0 から ready signal polling / spawn_timeout / events.log NDJSON + ローテーション / Claude Code 5種 hook 注入 / 60秒ごとの session.log スナップショットに対応。v2.1 から spawn / stop / list は BlueLamp 認証(X-CLI-Token)必須で、皆伝(tenant_rank>=4)以上が利用可能。同時稼働数の上限値はここに書かない(実装更新で腐るため)——拒否する上限はサーバ側 quota が、ローカルの暴走 spawn backstop は `MONSTER_MAX_CONCURRENT`(正本は `resolveMaxConcurrent()`)が正本で、この 2 つは別物。v2.3 から agent 別の events 確認カーソル(state.json.cursors)と mark_events_seen tool を追加し、未確認 awaiting_input / stopped を能動把握できる(推奨運用: get_monster_events に agent_id を渡し、取得後 max_event_ts を mark_events_seen で記録)。v2.4.0 から backend を mikoto-company-api に完全移管(Phase 53C)。受講生 PC は BLUELAMP_CLI_TOKEN → bluelampportal /api/auth/exchange → RS256 JWT → mikoto-company-api /api/monster/* の 2 段構えで認証。主エージェントが複数 monster を並列制御する汎用オーケストレータ。v3.3.0 から memory governor(艦隊の赤信号ブレーキ)を同梱: 常駐 tick(scripts/governor-tick.sh・30 秒)が機体のメモリ圧力を ~/.claude/monsters/governor.json に書き、critical(red)のときだけ spawn_monster が `MEMORY_CRITICAL` で拒否し、scripts/governor-wait.sh が重い検査の開始を待つ。走行中は触らない。計器が無い/古いときは fail-open で従来どおり動き、その事実を footer / governor_notice に出す。設置は docs/governor-launchd.md。",
|
|
4
|
+
"version": "3.4.0",
|
|
5
|
+
"description": "Claude Code CLI を独立サブプロセス(tmux session)として起動・送信・監視・停止する。v2.0.0 から ready signal polling / spawn_timeout / events.log NDJSON + ローテーション / Claude Code 5種 hook 注入 / 60秒ごとの session.log スナップショットに対応。v2.1 から spawn / stop / list は BlueLamp 認証(X-CLI-Token)必須で、皆伝(tenant_rank>=4)以上が利用可能。同時稼働数の上限値はここに書かない(実装更新で腐るため)——拒否する上限はサーバ側 quota が、ローカルの暴走 spawn backstop は `MONSTER_MAX_CONCURRENT`(正本は `resolveMaxConcurrent()`)が正本で、この 2 つは別物。v2.3 から agent 別の events 確認カーソル(state.json.cursors)と mark_events_seen tool を追加し、未確認 awaiting_input / stopped を能動把握できる(推奨運用: get_monster_events に agent_id を渡し、取得後 max_event_ts を mark_events_seen で記録)。v2.4.0 から backend を mikoto-company-api に完全移管(Phase 53C)。受講生 PC は BLUELAMP_CLI_TOKEN → bluelampportal /api/auth/exchange → RS256 JWT → mikoto-company-api /api/monster/* の 2 段構えで認証。主エージェントが複数 monster を並列制御する汎用オーケストレータ。v3.3.0 から memory governor(艦隊の赤信号ブレーキ)を同梱: 常駐 tick(scripts/governor-tick.sh・30 秒)が機体のメモリ圧力を ~/.claude/monsters/governor.json に書き、critical(red)のときだけ spawn_monster が `MEMORY_CRITICAL` で拒否し、scripts/governor-wait.sh が重い検査の開始を待つ。走行中は触らない。計器が無い/古いときは fail-open で従来どおり動き、その事実を footer / governor_notice に出す。設置は docs/governor-launchd.md。v3.4.0 から席の生死を「席の実在」でなく機能で実測する assess_liveness(直近活動・ロール読込・巡回 cron の 3 点すべて真で alive・tmux を見ない)と spawn 直後の着任確認 await_onboarding、4 値ログ ~/.claude/monsters/selfheal.log を追加(板 #608・夜間自己修復便の誤検知対策)。",
|
|
6
6
|
"category": "automation",
|
|
7
7
|
"tier": 2,
|
|
8
8
|
"tenantSlug": "yamatovision",
|
|
@@ -71,6 +71,14 @@
|
|
|
71
71
|
{
|
|
72
72
|
"name": "mark_events_seen",
|
|
73
73
|
"description": "agent ごとの events 確認カーソルを更新する(state.json.cursors[agent_id] = ts)。get_monster_events で取得した max_event_ts を渡すことで、次回呼び出しが「未確認イベントのみ」を返す。Stop hook (~/.claude/hooks/check-monster-events.sh) と協調し重複報告を防止。agent_id は呼び出し元 agent が自由に命名(例: tech-lead-main / tech-lead-mikoto-kaiden-XX)。"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"name": "assess_liveness",
|
|
77
|
+
"description": "席の生死を「席の実在」でなく機能で実測する(板 #608)。tmux は見ない。① 直近活動(events.log 最終 ts と transcript mtime の新しい方が activity_window_min(既定 30 分)以内)② ロール読込(transcript に load_knowledge の成功結果が 1 件以上・Prompt not found / ❌ は失敗)③ 巡回 cron(assistant tool_use の CronCreate(recurring が false でないもの=省略も登録)件数 > CronDelete 件数)の 3 点すべて真で alive・1 つでも偽なら dead で理由を全部 reasons に列挙する。transcript 0 本は ②③ とも偽(fail-closed)。副作用は selfheal.log への 1 行だけ(stop / spawn はしない)。"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"name": "await_onboarding",
|
|
81
|
+
"description": "spawn 直後の席がロールを読めたか(着任)を transcript の poll で実測する(板 #608)。load_knowledge の結果が出た時点で即返す: 成功 → onboarded=true(keyword / ts)/失敗 → reason=role_load_failed(detail)/何も出ないまま timeout_sec(既定 120・上限 300)→ reason=timeout。既に成功済みなら即返す(冪等・短い timeout_sec で呼び直す運用でよい)。tmux は見ない。副作用は selfheal.log への 1 行(spawned(successor=…) / spawn_failed(…))だけで、再 spawn・障害メモは呼び出し側の責務。"
|
|
74
82
|
}
|
|
75
83
|
]
|
|
76
84
|
}
|
package/dist-obf/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "monster-orchestrator",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.4.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist-obf/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -39,8 +39,8 @@
|
|
|
39
39
|
"vitest": "^4.1.5"
|
|
40
40
|
},
|
|
41
41
|
"buildInfo": {
|
|
42
|
-
"builtFromCommit": "
|
|
43
|
-
"builtAt": "2026-09-
|
|
44
|
-
"srcSha256": "
|
|
42
|
+
"builtFromCommit": "45da631",
|
|
43
|
+
"builtAt": "2026-09-04T01:07:06Z",
|
|
44
|
+
"srcSha256": "2138af51fc81295158e7283c13098cfed19786844e21c0f0306d31bccb6cb078"
|
|
45
45
|
}
|
|
46
46
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
const a0bR=a0c;(function(a,c){const bP=a0c,d=a();while(!![]){try{const e=parseInt(bP(0x1e6))/0x1+parseInt(bP(0x1f4))/0x2*(parseInt(bP(0x1ea))/0x3)+-parseInt(bP(0x1ae))/0x4+parseInt(bP(0x25f))/0x5+-parseInt(bP(0x245))/0x6*(-parseInt(bP(0x1a6))/0x7)+-parseInt(bP(0x206))/0x8*(-parseInt(bP(0x244))/0x9)+parseInt(bP(0x248))/0xa*(-parseInt(bP(0x25c))/0xb);if(e===c)break;else d['push'](d['shift']());}catch(f){d['push'](d['shift']());}}}(a0a,0xe79e6));import*as a0bD from'node:fs';import*as a0bE from'node:path';var Wt=/[\u0000-\u001f\u007f-\u009f]/g;function Q(a){const bQ=a0c;return a['replace'](Wt,'\x20')['replace'](/\s+/g,'\x20')[bQ(0x1c9)]();}import*as a0bF from'node:os';import*as a0bG from'node:path';var C=process.env.MONSTER_MCP_ROOT,T=C&&C[a0bR(0x226)]>0x0?C:a0bG[a0bR(0x1e2)](a0bF[a0bR(0x19c)](),'.claude',a0bR(0x1d2)),et=a0bG[a0bR(0x1e2)](T,a0bR(0x146)),Tn=a0bG[a0bR(0x1e2)](T,a0bR(0x1c4)),v=a0bG[a0bR(0x1e2)](T,a0bR(0x1dd)),N=a0bG[a0bR(0x1e2)](T,a0bR(0x1c8)),j=a0bG[a0bR(0x1e2)](T,a0bR(0x18e)),nt=0xa*0x400*0x400,qt=0x5*0x400*0x400,E=a0bG[a0bR(0x1e2)](T,a0bR(0x263)),x=E+a0bR(0x22a),I=a0bG[a0bR(0x1e2)](T,'supervisor-notify.log'),st=I+'.1',rt=0x2*0x400*0x400,En=a0bG[a0bR(0x1e2)](T,a0bR(0x165)),Zt=a0bG[a0bR(0x1e2)](T,a0bR(0x21b)),yn=Zt+'.1',wn=0xa*0x400*0x400;function Qt(){const bS=a0bR;try{if(a0bD[bS(0x264)](I)[bS(0x219)]<rt)return;a0bD[bS(0x21e)](I,st);}catch{}}function it(a){const bT=a0bR;let c=new Date()[bT(0x190)]()+'\x20'+Q(a)+'\x0a';try{a0bD[bT(0x24f)](a0bE[bT(0x258)](I),{'recursive':!0x0}),Qt(),a0bD[bT(0x186)](I,c,'utf8');}catch{}}import*as a0bH from'node:fs';import*as a0bI from'node:fs';import*as a0bJ from'node:fs/promises';function te(){const bU=a0bR;a0bI[bU(0x24f)](T,{'recursive':!0x0}),a0bI[bU(0x253)](v)||a0bI['writeFileSync'](v,'','utf8');}async function ee(){const bV=a0bR;try{if('TRXXZ'==='TRXXZ'){if((await a0bJ['stat'](v))['size']<nt)return!0x1;}else{let {shortId:c,supervisorSession:d,tmuxSession:e}=f(g,i[m]);return{'shortId':c,'supervisorSession':d,'tmuxSession':e};}}catch{return!0x1;}try{return a0bI[bV(0x253)](j)&&await a0bJ[bV(0x147)](j),a0bI[bV(0x253)](N)&&await a0bJ[bV(0x15a)](N,j),await a0bJ[bV(0x15a)](v,N),await a0bJ[bV(0x191)](v,'',bV(0x1f5)),!0x0;}catch{return bV(0x1a9)!=='NAqHg'?new e(o=>i(o,m)):!0x1;}}async function at(a){const bW=a0bR;te(),await ee();let c=JSON['stringify'](a)+'\x0a';await a0bJ['appendFile'](v,c,bW(0x1f5));}function ct(a,c,d,f={}){return{'ts':new Date()['toISOString'](),'monster_id':a,'event':d,'session':c,'meta':f};}import{execFile as a0bK}from'node:child_process';import{promisify as a0bL}from'node:util';import*as a0bM from'node:fs';var M=a0bL(a0bK);function re(){const bX=a0bR;let a=process.env.MONSTER_TMUX_BIN;if(a)return a;for(let c of['/opt/homebrew/bin/tmux',bX(0x15d)])try{if(bX(0x266)===bX(0x188)){let f=null;for(let g of f){let i=g[bX(0x1fa)](i);i&&(f=i[0x1]);}return f;}else{if(a0bM[bX(0x253)](c))return c;}}catch{}return bX(0x1a5);}var k=re(),L=class extends Error{},U=class extends L{constructor(a){const bY=a0bR;super('tmux\x20を実行できません(bin='+k+bY(0x18f)+String(a)),this[bY(0x21f)]=bY(0x1e4);}},H=class extends L{constructor(a){const bZ=a0bR;super(bZ(0x265)+k+bZ(0x15e)+(process.env.TMUX?'\u3042\u308A':'\u306A\u3057')+bZ(0x19e)+(process.env.TMUX_TMPDIR??bZ(0x174))+bZ(0x249)+a),this[bZ(0x21f)]=bZ(0x200);}};function oe(a){const c0=a0bR;let c=a?.[c0(0x1a3)];return c===c0(0x1e3)||c===c0(0x20a)||c===c0(0x1b3);}function ie(a){const c1=a0bR;let c=a,d=typeof c?.[c1(0x1cd)]==c1(0x1c1)&&c['stderr'][c1(0x226)]>0x0?c[c1(0x1cd)]:String(c?.[c1(0x247)]??a);return ft(d)[c1(0x1c9)]();}var ae=/can't find session|session not found/i;function ce(a){const c2=a0bR;return ae[c2(0x158)](a)?'absent':'unmeasurable';}var ue=/\x1b\[[0-9;?]*[A-Za-z]/g;function ft(a){const c3=a0bR;return a[c3(0x143)](ue,'')[c3(0x143)](/\r/g,'');}async function B(a){const c4=a0bR;try{if(c4(0x1ba)!==c4(0x1d3))return await M(k,[c4(0x1e1),'-t',a]),!0x0;else{let d=n(o);if(!p(r[c4(0x1ee)](),d))return 0x0;let f=s(a['readLedger']());return u[c4(0x22f)](y(f,d)),f[c4(0x226)];}}catch(d){if(oe(d))throw new U(d);let f=ie(d);if(ce(f)===c4(0x209))return!0x1;throw new H(f);}}var fe=/esc to interrupt/i;async function lt(a){const c5=a0bR;let c=await dt(a,0x32);return c[c5(0x1c9)]()[c5(0x226)]===0x0?!0x0:fe[c5(0x158)](c);}async function dt(a,c){const c6=a0bR;try{if('bsfvd'===c6(0x155))return c['toISOString']()[c6(0x1cb)](0x0,0xa);else{let {stdout:f}=await M(k,[c6(0x177),'-t',a,'-p','-S','-'+c]);return ft(f);}}catch{return c6(0x1ac)==='VbSMz'?[]:'';}}function le(a){return Math['min'](0x64+Math['floor'](a/0x4),0x5dc);}function de(a){const c7=a0bR;return a[c7(0x143)](/\n+$/,'');}async function pt(a,c){const c8=a0bR;try{let d=de(c);await M(k,['send-keys','-t',a,'-l',d]);let f=le(d[c8(0x226)]);return await new Promise(g=>setTimeout(g,f)),await M(k,[c8(0x182),'-t',a,c8(0x233)]),await new Promise(g=>setTimeout(g,0xc8)),await M(k,[c8(0x182),'-t',a,c8(0x233)]),{'ok':!0x0,'bytes':Buffer[c8(0x260)](d,c8(0x1f5))};}catch(g){return{'ok':!0x1,'bytes':0x0,'error':g?.[c8(0x1cd)]||g?.[c8(0x247)]||'tmux\x20send-keys\x20failed'};}}var G=[a0bR(0x180),'stopped'],_t=a0bR(0x215),pe=a0bR(0x261),St=a0bR(0x18c);function me(a){const c9=a0bR;if(typeof a!=c9(0x1c1))return null;let c=a[c9(0x151)]()[c9(0x143)](/[^0-9a-f]/g,'');return c['length']===0x0?null:c['slice'](0x0,0xc);}function _e(a){const ca=a0bR;return typeof a==ca(0x1c1)&&G[ca(0x1da)](a);}function ht(a){const cb=a0bR;if(typeof a!=cb(0x1c1))return null;let c=Date[cb(0x14d)](a);if(!Number[cb(0x13e)](c))return null;let d=new Date(c),f=String(d[cb(0x23c)]())['padStart'](0x2,'0'),g=String(d[cb(0x13b)]())[cb(0x13a)](0x2,'0');return f+':'+g;}function Se(a){const cc=a0bR;let c=me(a[cc(0x1df)]),d=ht(a['ts']);return!c||!d||!_e(a[cc(0x26a)])?null:cc(0x227)+c+cc(0x184)+a[cc(0x26a)]+'('+d+')';}function gt(a){const cd=a0bR;let c=[];for(let d of a){let f=Se(d);f&&c[cd(0x1bc)](f);}return c[cd(0x226)]===0x0?null:''+_t+c[cd(0x1e2)]('\u3001')+pe;}var he=new RegExp(a0bR(0x18d)),ge=['\u627F\u8A8D','\u627F\u8AFE','\u4E86\u627F','\u8A31\u53EF','\u8A8D\u53EF','\u8A31\u8AFE','\u88C1\u5B9A','\u6C7A\u88C1','GO','\u30B4\u30FC',a0bR(0x1aa),'\u30BF\u30B0',a0bR(0x17e),a0bR(0x16e),'\u672C\u756A','\u53EF','\u3066\u3088\u3044','\u3066\u826F\u3044',a0bR(0x142),a0bR(0x1b0),a0bR(0x1a2),a0bR(0x1ef),a0bR(0x23d),a0bR(0x232),/\b(?:ok|okay|go|approve[ds]?|approval|authoriz(?:e|ed|ation)|merge[ds]?|tag|release|deploy|greenlight)\b/i];function b(a){const cf=a0bR;let c=[];for(let d of ge){if(typeof d=='string'){a[cf(0x1da)](d)&&c[cf(0x1bc)](d);continue;}let f=a[cf(0x1fa)](d);f&&c[cf(0x1bc)](f[0x0]);}return c;}function P(a){return b(a)['length']>0x0;}function Tt(a){const cg=a0bR;if(!he['test'](a))return{'ok':!0x1,'reason':'\u56FA\u5B9A\u30C6\u30F3\u30D7\u30EC\u306B\u4E00\u81F4\u3057\u306A\u3044'};if(P(a))return{'ok':!0x1,'reason':cg(0x1ab)+b(a)[cg(0x1e2)](cg(0x22c))};if(vt(a)){let c=Y(a);return{'ok':!0x1,'reason':xt+':\x20'+c['join'](cg(0x22c))};}return{'ok':!0x0};}var Et=0x40,Te=new RegExp('^['+St+a0bR(0x18b));function mt(a){const ch=a0bR;if(typeof a!=ch(0x1c1))return null;let c=a['trim']();return c[ch(0x226)]===0x0||c[ch(0x226)]>Et||!Te[ch(0x158)](c)?null:c;}function yt(a){const ci=a0bR;let c=mt(a[ci(0x159)]),d=mt(a['subordinateSession']),f=ht(a['detectedAt']);return!c||!d||!f?null:_t+ci(0x1be)+c+ci(0x196)+f+ci(0x1db)+c+ci(0x197)+d+ci(0x1d0);}var V='['+St+a0bR(0x23a)+Et+'}',Ee=new RegExp(a0bR(0x160)+V+a0bR(0x1e7)+V+a0bR(0x197)+V+a0bR(0x1d1)),ye=/([0-9]{2}:[0-9]{2})/,we=/前景で tmux list-sessions を撃ち、/,ve=/(自席が 0 行なら測り方が壊れている)/,xe=/has-session/,Oe=['\u6D88\u3048\u305F','\u6D88\u6EC5','\u6D88\u5931','\u6B7B\u3093\u3060','\u6B7B\u4EA1','\u5931\u52B9\u3057\u305F','\u7D42\u4E86\u3057\u305F',a0bR(0x214),a0bR(0x16f),a0bR(0x240),a0bR(0x1f1),a0bR(0x18a),a0bR(0x23f),'\u3044\u306A\u304F\u306A\u3063\u305F','\u4E0D\u5728\u3067\u3042\u308B','\u4E0D\u5728\u3067\u3059',a0bR(0x15f),a0bR(0x13f),/\b(?:is|has|was|been)\s+(?:gone|dead|missing|terminated|absent)\b/i];function wt(a){const cj=a0bR;let c=[];for(let d of Oe){if(typeof d==cj(0x1c1)){if('cQDNm'===cj(0x1c0)){a[cj(0x1da)](d)&&c['push'](d);continue;}else c=f[cj(0x216)](g,'r');}let f=a[cj(0x1fa)](d);f&&c[cj(0x1bc)](f[0x0]);}return c;}function Ie(a){return wt(a)['length']>0x0;}var Re=['\u505C\u6B62','\u7D42\u4E86','\u4E2D\u6B62','\u4E2D\u65AD','\u4F11\u6B62','\u5F85\u6A5F','\u64A4\u53CE','\u64A4\u9000','\u96E2\u8131','\u653E\u68C4','\u4E2D\u5EA7','\u7834\u68C4','\u524A\u9664','\u62B9\u6D88','\u6D88\u53BB','\u51CD\u7D50','\u5C01\u9396','\u9589\u9396','\u89E3\u6563'],Ae=['\u305B\u3088','\u305B\u3044','\u3057\u308D','\u3057\u3066',a0bR(0x19d),a0bR(0x17b),'\u306A\u3055\u3044',a0bR(0x1b1),'\u9858\u3046'],ke=[new RegExp('(?:'+Re[a0bR(0x1e2)]('|')+a0bR(0x204)+Ae[a0bR(0x1e2)]('|')+')'),/やめ(?:よ|ろ|て|ること|なさい)/,/\b(?:must|should|please)\s+(?:stop|halt|abort|terminate|cease|suspend|stand\s?down)\b/i,/\b(?:stop|halt|abort|terminate|cease|suspend|shut\s?down|stand\s?down)\s+(?:now|immediately|work(?:ing)?|the\s|your\s|this\s)/i];function Y(a){const ck=a0bR;let c=[];for(let d of ke){let f=a[ck(0x1fa)](d);f&&c['push'](f[0x0]);}return c;}function vt(a){const cl=a0bR;return Y(a)[cl(0x226)]>0x0;}var xt=a0bR(0x144);function Ot(a){const cm=a0bR;if(P(a))return{'ok':!0x1,'reason':cm(0x1ab)+b(a)[cm(0x1e2)]('\x20/\x20')};if(vt(a)){let c=Y(a);return{'ok':!0x1,'reason':xt+':\x20'+c[cm(0x1e2)](cm(0x22c))};}return Ie(a)?{'ok':!0x1,'reason':cm(0x1de)+wt(a)[cm(0x1e2)](cm(0x22c))+cm(0x1a0)}:xe[cm(0x158)](a)?{'ok':!0x1,'reason':cm(0x162)}:ye[cm(0x158)](a)?we['test'](a)?ve[cm(0x158)](a)?Ee[cm(0x158)](a)?{'ok':!0x0}:{'ok':!0x1,'reason':cm(0x20e)}:{'ok':!0x1,'reason':cm(0x16b)}:{'ok':!0x1,'reason':cm(0x1f3)}:{'ok':!0x1,'reason':'\u691C\u77E5\u6642\u523B\uFF08HH:MM\uFF09\u3092\u542B\u307E\u306A\u3044\uFF08\u53D7\u3051\u624B\u304C\u901A\u77E5\u306E\u53E4\u3055\u3092\u5224\u65AD\u3067\u304D\u306A\u3044\uFF09'};}var Ne=[a0bR(0x1d6),'session_end'],$e=a=>typeof a==a0bR(0x211)&&a!==null&&!Array[a0bR(0x145)](a);function Me(c){const co=a0bR;let d=c['trim']();if(d[co(0x226)]===0x0)return null;let f;try{f=JSON[co(0x14d)](d);}catch{return null;}if(!$e(f))return null;let {ts:g,monster_id:m,event:o}=f;if(typeof g!=co(0x1c1)||typeof m!=co(0x1c1)||m['length']===0x0||typeof o!=co(0x1c1))return null;let p=Date[co(0x14d)](g);return Number[co(0x13e)](p)?{'ts':g,'tsMs':p,'monsterId':m,'event':o}:null;}function It(a){const cp=a0bR;let c=[];for(let d of a){if(cp(0x252)!==cp(0x252)){if(!r['test'](s))return{'ok':!0x1,'reason':cp(0x14e)};if(a(u))return{'ok':!0x1,'reason':cp(0x1ab)+y(O)['join']('\x20/\x20')};if(a0(a1)){let g=a5(a6);return{'ok':!0x1,'reason':a7+':\x20'+g[cp(0x1e2)]('\x20/\x20')};}return{'ok':!0x0};}else{let g=Me(d);g&&c[cp(0x1bc)](g);}}return c;}function be(a){const cq=a0bR;return G[cq(0x1da)](a);}function je(a){return Ne['includes'](a);}function Rt(f,m){const cr=a0bR;let y=new Map(),O=new Map(),a0=new Map();for(let [a6,a7]of Object[cr(0x14a)](m[cr(0x14a)])){y[cr(0x1c7)](a6,a7[cr(0x1ec)]);let a8=Date['parse'](a7[cr(0x259)]);Number[cr(0x13e)](a8)&&O[cr(0x1c7)](a6,a8);let a9=a7[cr(0x217)]===void 0x0?NaN:Date['parse'](a7[cr(0x217)]);Number[cr(0x13e)](a9)&&a0[cr(0x1c7)](a6,a9);}let a1=new Set(),a2=new Map(),a3=new Map(),a4=null,a5=(aa,ab)=>{const cs=cr;let ac=aa[cs(0x1d8)]+'\x00'+ab;a3[cs(0x1c7)](ac,{'monsterId':aa[cs(0x1d8)],'reason':ab,'count':(a3[cs(0x25a)](ac)?.[cs(0x1b4)]??0x0)+0x1,'latestTs':aa['ts'],'latestEvent':aa[cs(0x26a)]});};for(let aa of[...f][cr(0x169)]((ab,ac)=>ab[cr(0x21c)]-ac[cr(0x21c)])){if(m[cr(0x228)]!==null&&aa[cr(0x21c)]<=m[cr(0x228)])continue;(a4===null||aa[cr(0x21c)]>a4)&&(a4=aa[cr(0x21c)]);let ab=a0['get'](aa[cr(0x1d8)]);if(ab!==void 0x0&&aa[cr(0x21c)]<=ab)continue;if(je(aa[cr(0x26a)])){y[cr(0x25a)](aa[cr(0x1d8)])&&(y[cr(0x1c7)](aa[cr(0x1d8)],!0x1),a1[cr(0x1a1)](aa[cr(0x1d8)]));continue;}if(!be(aa['event']))continue;if(y[cr(0x25a)](aa['monsterId'])){if('ABzuS'!==cr(0x17a))return m[cr(0x152)](0x64+f[cr(0x251)](g/0x4),0x5dc);else{a5(aa,cr(0x1ec));continue;}}let ac=O['get'](aa[cr(0x1d8)]);if(ac!==void 0x0&&aa[cr(0x21c)]<=ac){a5(aa,cr(0x236));continue;}a2['set'](aa[cr(0x1d8)],aa);}return{'notify':[...a2[cr(0x1ca)]()][cr(0x169)]((af,ag)=>af[cr(0x21c)]-ag['tsMs']),'suppressed':[...a3['values']()],'reacted':[...a1],'maxScannedMs':a4};}import*as a0bN from'node:fs/promises';import*as a0bO from'node:path';var Le=0xea60,Hn=Le*0x3;function At(a){const cu=a0bR;try{return'PVqrB'!==cu(0x185)?(process[cu(0x19b)](a,0x0),!0x0):'';}catch(d){return d?.[cu(0x1a3)]===cu(0x1b3);}}var Pe=0xc8,Fe=()=>({'version':0x1,'cursor_ts':null,'monsters':{}}),z=a=>typeof a==a0bR(0x211)&&a!==null&&!Array['isArray'](a),J=a=>typeof a==a0bR(0x1c1)&&a[a0bR(0x226)]>0x0?a:void 0x0;function De(c){const cv=a0bR;if(!z(c))return{};let d={};for(let [f,g]of Object[cv(0x14a)](c)){if(!z(g)||typeof g[cv(0x259)]!=cv(0x1c1))continue;let m=J(g[cv(0x161)]),o=J(g[cv(0x24b)]),p=J(g[cv(0x217)]);d[f]={'last_injected_event_ts':g[cv(0x259)],'awaiting_reaction':g[cv(0x1ec)]===!0x0,...m===void 0x0?{}:{'reverse_injected_supervisor':m},...o===void 0x0?{}:{'last_gone_recorded_event_ts':o},...p===void 0x0?{}:{'last_scanned_event_ts':p}};}return d;}function Ce(a){const cw=a0bR;let c=JSON[cw(0x14d)](a);if(!z(c))throw new Error('\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3067\u306F\u306A\u3044');return{'version':0x1,'cursor_ts':typeof c[cw(0x1f8)]=='string'?c[cw(0x1f8)]:null,'monsters':De(c[cw(0x1d2)])};}var F=new WeakMap();function kt(a){const cx=a0bR;let c=a;return''+(typeof c?.['code']==cx(0x1c1)?c[cx(0x1a3)]+':\x20':'')+String(c?.[cx(0x247)]??a);}async function D(){const cy=a0bR;let a;try{a=await a0bN['readFile'](E,cy(0x1f5));}catch(c){return c?.[cy(0x1a3)]==='ENOENT'?{'ok':!0x0,'state':Fe()}:{'ok':!0x1,'kind':cy(0x1d4),'detail':kt(c)};}try{return{'ok':!0x0,'state':Ce(a)};}catch(d){return{'ok':!0x1,'kind':cy(0x242),'detail':kt(d)};}}async function Ue(a){let c=null;return await Pt(async()=>{const cz=a0c;if(cz(0x234)==='hxFdP'){let d=await D();if(d['ok']||d[cz(0x167)]!=='corrupt')return;let f=new Date()['toISOString']()[cz(0x143)](/[:.]/g,'-'),g=E+'.corrupt.'+f+'.'+process[cz(0x1cf)];await a0bN[cz(0x15a)](E,g),c=g,process[cz(0x1cd)]['write'](cz(0x267)+g+cz(0x1fc)+a+')\x0a');}else return null;}),c;}var He=0x32;function Be(a){return new Promise(c=>setTimeout(c,a));}function Nt(a){const cA=a0bR;return new Error(cA(0x1d5)+E+'\x20を読めませんでした('+a+')');}async function Lt(){const cB=a0bR;let a=await D();if(a['ok'])return F[cB(0x1c7)](a['state'],structuredClone(a[cB(0x189)])),a[cB(0x189)];if(a[cB(0x167)]===cB(0x1d4))throw Nt(a['detail']);await Be(He);let c=await D();if(c['ok'])return F[cB(0x1c7)](c[cB(0x189)],structuredClone(c[cB(0x189)])),c[cB(0x189)];if(c[cB(0x167)]===cB(0x1d4))throw Nt(c['detail']);let d=await Ue(c[cB(0x250)]);throw new Error('SUPERVISOR_STATE_CORRUPT:\x20'+E+cB(0x1ed)+c[cB(0x250)]+')。'+(d?d+'\x20へ退避しました(消さないこと)。':'')+'\u{1F6A8}\x20\u3053\u308C\u306F\u300C\u5BFE\u8C61\u304C\u7121\u3044\u300D\u3053\u3068\u306E\u8A3C\u62E0\u3067\u306F\u3042\u308A\u307E\u305B\u3093\uFF08\u6E2C\u5B9A\u4E0D\u80FD\uFF09');}var $t=0x0;function Ve(){const cC=a0bR;return $t+=0x1,E+'.'+process['pid']+'-'+$t+cC(0x153);}var Mt=0x2710,bt=0x3a98;function Ge(a){return new Promise(c=>setTimeout(c,a));}async function Pt(a){const cD=a0bR;await a0bN[cD(0x195)](a0bO[cD(0x258)](E),{'recursive':!0x0});let c=Date['now']()+bt;for(;;){try{if('brdDv'!=='wtgjP'){await a0bN['writeFile'](x,JSON['stringify']({'pid':process['pid'],'ts':Date['now']()}),{'flag':'wx'});break;}else{let g=d['cursor_ts'],i=o[cD(0x1ca)](p[cD(0x1d2)])[cD(0x229)]((a5,a6)=>{const cE=cD;let a7=a6[cE(0x217)];return a7===void 0x0?a5:a5===null||a7>a5?a7:a5;},null),m=r[cD(0x14a)](s['monsters'])[cD(0x1a7)](([,a3])=>a3['awaiting_reaction']||a3[cD(0x161)]||i!==null&&a3[cD(0x217)]!==void 0x0&&a3[cD(0x217)]<i||g===null||a3[cD(0x24b)]!==void 0x0&&a3[cD(0x24b)]>g?!0x0:a3[cD(0x259)]>g);return m[cD(0x169)]((a4,a5)=>a4[0x1][cD(0x259)]<a5[0x1][cD(0x259)]?0x1:-0x1),{...a,'monsters':u[cD(0x141)](m[cD(0x1cb)](0x0,y))};}}catch(g){if(g?.[cD(0x1a3)]!==cD(0x17d))throw g;}let d=!0x1;try{let i=JSON['parse'](await a0bN['readFile'](x,'utf8'));d=typeof i?.[cD(0x1cf)]==cD(0x148)&&(!At(i[cD(0x1cf)])||Date[cD(0x1af)]()-Number(i['ts']??0x0)>Mt);}catch{try{let m=await a0bN[cD(0x15c)](x);d=Date[cD(0x1af)]()-m['mtimeMs']>Mt;}catch{}}if(d){if(cD(0x172)!=='LXBud')return c(f(g));else{let p=x+'.stale.'+process[cD(0x1cf)];await a0bN['rename'](x,p)[cD(0x14c)](()=>{}),await a0bN['rm'](p,{'force':!0x0})[cD(0x14c)](()=>{});continue;}}if(Date[cD(0x1af)]()>c)throw new Error(cD(0x19a)+x+cD(0x1cc)+bt+cD(0x22b));await Ge(0x5+Math[cD(0x22d)]()*0x14);}try{return await a();}finally{if('mSKhB'!==cD(0x1ff))try{if('TYqGs'==='TYqGs')JSON[cD(0x14d)](await a0bN['readFile'](x,cD(0x1f5)))?.['pid']===process[cD(0x1cf)]&&await a0bN['rm'](x,{'force':!0x0});else return d['kill'](e,0x0),!0x0;}catch{}else{f[cD(0x20b)]+=g['items'][cD(0x226)];for(let y of n['items'])o['add'](y[cD(0x26a)]['monsterId']);}}}function Ye(c,d,f){const cF=a0bR;let g={'version':0x1,'cursor_ts':c[cF(0x1f8)],'monsters':{...c[cF(0x1d2)]}};d[cF(0x1f8)]!==f[cF(0x1f8)]&&(g[cF(0x1f8)]=f[cF(0x1f8)]);let m=new Set([...Object[cF(0x205)](d[cF(0x1d2)]),...Object[cF(0x205)](f[cF(0x1d2)])]);for(let p of m){let u=d[cF(0x1d2)][p],y=f[cF(0x1d2)][p];JSON['stringify'](u)!==JSON[cF(0x17f)](y)&&(y===void 0x0?delete g['monsters'][p]:g[cF(0x1d2)][p]=y);}return g;}async function Ft(a,c){await Pt(async()=>{const cG=a0c;let d=await D();if(!d['ok'])throw new Error(cG(0x150)+E+cG(0x1f2)+d['kind']+':\x20'+d['detail']+cG(0x1e8));let f=F['get'](c??a),g=f?Ye(d[cG(0x189)],f,a):a,m=JSON['stringify'](g,null,0x2)+'\x0a',p=Ve();try{await a0bN[cG(0x191)](p,m,'utf8'),await a0bN[cG(0x15a)](p,E);}catch(u){throw await a0bN['rm'](p,{'force':!0x0})[cG(0x14c)](()=>{}),u;}F[cG(0x1c7)](a,structuredClone(a));});}function Dt(a,c,d){const cH=a0bR;return{...a,'monsters':{...a[cH(0x1d2)],[c]:{...a['monsters'][c],'last_injected_event_ts':d,'awaiting_reaction':!0x0}}};}function Ct(a,c,d,f){const cI=a0bR;let g=a['monsters'][c];return{...a,'monsters':{...a[cI(0x1d2)],[c]:{...g,'last_injected_event_ts':g?.[cI(0x259)]??f,'awaiting_reaction':g?.[cI(0x1ec)]??!0x1,'reverse_injected_supervisor':d}}};}function Ut(a,c,d){const cJ=a0bR;let f=a[cJ(0x1d2)][c];return{...a,'monsters':{...a[cJ(0x1d2)],[c]:{...f,'last_injected_event_ts':f?.[cJ(0x259)]??d,'awaiting_reaction':f?.[cJ(0x1ec)]??!0x1,'last_gone_recorded_event_ts':d}}};}function K(a,c){const cK=a0bR;return a?.[cK(0x217)]??c;}function X(a,c,d){const cL=a0bR;let f=a[cL(0x1d2)][c];return{...a,'monsters':{...a[cL(0x1d2)],[c]:{...f,'last_injected_event_ts':f?.[cL(0x259)]??d,'awaiting_reaction':f?.[cL(0x1ec)]??!0x1,'last_scanned_event_ts':d}}};}function Ht(a,c){const cM=a0bR;let d=a[cM(0x1d2)][c];return!d||!d[cM(0x1ec)]?a:{...a,'monsters':{...a[cM(0x1d2)],[c]:{...d,'awaiting_reaction':!0x1}}};}function W(a,c){return{...a,'cursor_ts':c};}function Bt(a){const cN=a0bR;let c=a[cN(0x1f8)],d=Object[cN(0x1ca)](a[cN(0x1d2)])[cN(0x229)]((g,m)=>{const cO=cN;if('OMoCi'==='OMoCi'){let o=m[cO(0x217)];return o===void 0x0?g:g===null||o>g?o:g;}else{let u=g['last_scanned_event_ts'];return u===void 0x0?i:m===null||u>d?u:o;}},null),f=Object[cN(0x14a)](a[cN(0x1d2)])['filter'](([,g])=>g[cN(0x1ec)]||g[cN(0x161)]||d!==null&&g[cN(0x217)]!==void 0x0&&g['last_scanned_event_ts']<d||c===null||g[cN(0x24b)]!==void 0x0&&g[cN(0x24b)]>c?!0x0:g[cN(0x259)]>c);return f['sort']((g,i)=>g[0x1][cN(0x259)]<i[0x1][cN(0x259)]?0x1:-0x1),{...a,'monsters':Object['fromEntries'](f[cN(0x1cb)](0x0,Pe))};}function Je(c,d){const cP=a0bR;let f=new Map(),g=[];for(let m of c){let o=d[cP(0x193)](m[cP(0x1d8)]);if(!o['supervisorSession']){g[cP(0x1bc)](m);continue;}let p=f[cP(0x25a)](o['supervisorSession'])??{'session':o[cP(0x159)],'items':[]};p[cP(0x207)][cP(0x1bc)]({'event':m,'target':o}),f[cP(0x1c7)](o[cP(0x159)],p);}return{'groups':[...f[cP(0x1ca)]()],'unassigned':g};}function ze(a,c){const cQ=a0bR;if(P(a)){let f=b(a);return c(cQ(0x173)+f[cQ(0x1e2)]('\x20/\x20')+cQ(0x163)+JSON[cQ(0x17f)](a)),!0x1;}let d=Tt(a);return d['ok']?!0x0:(c(cQ(0x14f)+d[cQ(0x1fb)]+cQ(0x1bd)+JSON[cQ(0x17f)](a)),!0x1);}function Ke(c,d){const cR=a0bR;let f=[],g=[],m=new Set();for(let p of c){if('gmanJ'!==cR(0x13c))return cR(0x181)+d[cR(0x1df)]+'\x20が\x20'+f['event']+'('+g['ts']+cR(0x20d);else{if(m['has'](p[cR(0x26a)]['monsterId']))continue;m['add'](p[cR(0x26a)][cR(0x1d8)]);let y=d[p[cR(0x26a)]['monsterId']]?.[cR(0x24b)],O=y===void 0x0?NaN:Date[cR(0x14d)](y);if(Number[cR(0x13e)](O)&&p[cR(0x26a)][cR(0x21c)]<=O){g['push']({'monsterId':p[cR(0x26a)][cR(0x1d8)],'shortId':p[cR(0x1b2)][cR(0x1df)],'recordedTs':y});continue;}f[cR(0x1bc)](p);}}return{'record':f,'skipped':g};}async function Xe(c,d,f){const cS=a0bR;let {record:g,skipped:m}=Ke(c[cS(0x207)],f['monsters']),o=f;for(let p of g)await d[cS(0x1c5)](p[cS(0x26a)],p[cS(0x1b2)]),o=Ut(o,p[cS(0x26a)]['monsterId'],p[cS(0x26a)]['ts']);return{'state':o,'suppressed':m[cS(0x226)]};}function We(c,f,g){const cT=a0bR;let m=new Map(),p=new Map(),u=new Set();for(let {event:y,target:O}of c){if(u['has'](y['monsterId']))continue;u[cT(0x1a1)](y[cT(0x1d8)]);let a0=a1=>{const cU=cT;p['set'](y['monsterId'],{'monsterId':y[cU(0x1d8)],'shortId':O['shortId'],'reason':a1});};if(g[y[cT(0x1d8)]]?.['reverse_injected_supervisor']===f){a0(cT(0x268));continue;}if(O[cT(0x199)]['length']===0x0){a0(cT(0x168));continue;}if(O[cT(0x199)]===f){a0('self');continue;}m[cT(0x1c7)](y['monsterId'],{'monsterId':y[cT(0x1d8)],'shortId':O[cT(0x1df)],'tmuxSession':O[cT(0x199)],'supervisorSession':f,'eventTs':y['ts']});}return{'targets':[...m['values']()],'skipped':[...p[cT(0x1ca)]()]};}function qe(a,c){const cV=a0bR;let d=Ot(a);return d['ok']?!0x0:(c(cV(0x225)+d['reason']+cV(0x1bd)+JSON['stringify'](a)),!0x1);}async function Ze(f,p,u,y){const cW=a0bR;let O={'state':u,'injected':0x0,'blocked':0x0,'failed':0x0,'failedMonsters':[]},{targets:a0,skipped:a1}=We(f[cW(0x207)],f[cW(0x1eb)],u[cW(0x1d2)]);O[cW(0x1d7)]+=a1[cW(0x226)];for(let a2 of a1){if('THaaI'!==cW(0x201))return p[cW(0x14d)](f[cW(0x1f9)](g,'utf8'))[cW(0x1d2)]??{};else{if(a2[cW(0x1fb)]===cW(0x268))continue;let a4=a2[cW(0x1fb)]==='no_target_session'?cW(0x223):cW(0x218);p['log'](cW(0x170)+a2[cW(0x1df)]+cW(0x230)+f[cW(0x1eb)]+cW(0x257)+a4);}}for(let a5 of a0){let a6=yt({'supervisorSession':f[cW(0x1eb)],'subordinateSession':a5[cW(0x199)],'detectedAt':y});if(a6===null){p[cW(0x22f)](cW(0x1f6)+a5[cW(0x1df)]+cW(0x230)+JSON['stringify'](f['session'])+'\x20自席='+JSON[cW(0x17f)](a5[cW(0x199)])+cW(0x26b)),O[cW(0x1d7)]+=0x1;continue;}if(!qe(a6,p[cW(0x22f)])){O[cW(0x1d7)]+=0x1;continue;}let a7;try{a7=await p[cW(0x235)](a5[cW(0x199)]);}catch(a9){p[cW(0x22f)](cW(0x15b)+a5[cW(0x199)]+cW(0x175)+a5['shortId']+cW(0x1ad)+String(a9)),O[cW(0x13d)]+=0x1,O[cW(0x254)][cW(0x1bc)](a5[cW(0x1d8)]);continue;}if(!a7){p['log']('逆向き注入見送り:\x20配下\x20session='+a5['tmuxSession']+cW(0x20c)+a5[cW(0x1df)]+')が実在しない\x20—\x20知らせる相手が居ない(reconcile\x20が台帳を直す)'),O['blocked']+=0x1;continue;}let a8=await p[cW(0x1fe)](a5[cW(0x199)],a6);if(!a8['ok']){p[cW(0x22f)](cW(0x1c2)+a5[cW(0x199)]+cW(0x175)+a5[cW(0x1df)]+'\x20'+(a8[cW(0x231)]??'')),O['failed']+=0x1,O[cW(0x254)]['push'](a5['monsterId']);continue;}O[cW(0x189)]=Ct(O['state'],a5['monsterId'],a5[cW(0x159)],a5[cW(0x16a)]),O[cW(0x17c)]+=0x1,p['log'](cW(0x16d)+f[cW(0x1eb)]+cW(0x156)+a5[cW(0x1df)]+cW(0x221)+a5[cW(0x199)]+cW(0x256)+JSON[cW(0x17f)](a6));}return O;}var Vt=a0bR(0x194),Qe=/^(?:\S+ )?(?:🚨 )?未配線監査\((\d{4}-\d{2}-\d{2})\)/;function tn(a){const cX=a0bR;return a[cX(0x190)]()[cX(0x1cb)](0x0,0xa);}function en(a){const cY=a0bR;return a[cY(0x1a7)](c=>c[cY(0x1dc)]==='running'&&!c[cY(0x159)]&&!c[cY(0x1b5)])[cY(0x241)](c=>({'shortId':c[cY(0x1df)],'spawnedAt':c[cY(0x213)]}));}function Gt(a){const cZ=a0bR;let c=null;for(let d of a){let f=d[cZ(0x1fa)](Qe);f&&(c=f[0x1]);}return c;}function nn(a,c){return a!==c;}function sn(a,c){const d0=a0bR;if(a[d0(0x226)]===0x0)return Vt+'('+c+d0(0x14b);let d=a['map'](f=>f[d0(0x1df)]+'(spawned\x20'+f['spawnedAt']+')')[d0(0x1e2)]('\x20/\x20');return d0(0x269)+Vt+'('+c+'):\x20未配線\x20'+a[d0(0x226)]+d0(0x246)+d+d0(0x1e0);}function rn(a,c){const d1=a0bR;let d=tn(c);if(!nn(a[d1(0x1ee)](),d))return 0x0;let f=en(a[d1(0x20f)]());return a['log'](sn(f,d)),f[d1(0x226)];}function on(a,c){const d2=a0bR;return d2(0x181)+c[d2(0x1df)]+d2(0x184)+a[d2(0x26a)]+'('+a['ts']+d2(0x20d);}async function an(c,d){const d3=a0bR;let f=c[d3(0x207)][d3(0x241)](y=>y[d3(0x1b2)][d3(0x1df)])[d3(0x1e2)](','),g;try{g=await d['sessionExists'](c[d3(0x1eb)]);}catch(y){return d[d3(0x22f)]('🚨\x20セッション実在を判定できません\x20session='+c['session']+'\x20monster='+f+d3(0x154)+String(y)),d3(0x21a);}if(!g)return d[d3(0x22f)]('supervisor_gone:\x20session='+c['session']+d3(0x212)+f+d3(0x1b9)),'gone';if(await d[d3(0x21d)](c['session']))return d[d3(0x22f)](d3(0x183)+c['session']+d3(0x1c6)+f+d3(0x1bf)),d3(0x19f);let m=c[d3(0x207)][d3(0x241)](O=>({'shortId':O['target']['shortId'],'event':O['event'][d3(0x26a)],'ts':O[d3(0x26a)]['ts']})),p=gt(m);if(p===null)return d[d3(0x22f)](d3(0x238)+f),d3(0x21a);if(!ze(p,d['log']))return d3(0x21a);let u=await d[d3(0x1fe)](c[d3(0x1eb)],p);return u['ok']?(d[d3(0x22f)](d3(0x192)+c[d3(0x1eb)]+'\x20monster='+f+d3(0x179)+JSON['stringify'](p)),d3(0x140)):(d[d3(0x22f)]('注入失敗(次\x20tick\x20で再試行):\x20session='+c['session']+'\x20'+(u['error']??'')),d3(0x13d));}function cn(a,c,d){const d4=a0bR;let f=c[d4(0x226)]>0x0?c[c[d4(0x226)]-0x1]['ts']:new Date()['toISOString']();return d[d4(0x22f)]('初回\x20tick:\x20カーソルを\x20'+f+'\x20に設定(過去の停止は注入しない)'),{'state':W(a,f),'initialized':!0x0,'injected':0x0,'skippedBusy':0x0,'gone':0x0,'unassigned':0x0,'unwired':0x0,'failed':0x0,'suppressed':0x0,'reacted':0x0,'blocked':0x0,'reverseInjected':0x0,'reverseBlocked':0x0,'reverseFailed':0x0,'goneRecordSuppressed':0x0};}function un(a){const d5=a0bR;return a[d5(0x17c)]+a[d5(0x20b)]+a[d5(0x23b)]+a[d5(0x1ce)]+a[d5(0x13d)]+a['suppressed']+a[d5(0x198)]+a[d5(0x1d7)];}function Yt(a){const d6=a0bR;let c=a[d6(0x1ce)]>0x0||a['unwired']>0x0;if(!a[d6(0x178)]&&un(a)===0x0&&!c)return null;let d=d6(0x164)+a[d6(0x17c)]+d6(0x1bb)+a['skippedBusy']+d6(0x1a4)+a['gone']+d6(0x243)+a[d6(0x1ce)]+'\x20不達='+a['failed']+d6(0x23e)+a['suppressed']+d6(0x1b6)+a[d6(0x198)]+d6(0x1d9)+a[d6(0x1d7)]+d6(0x24d)+a['unwired']+d6(0x1c3)+a['reverseInjected']+d6(0x25e)+a[d6(0x22e)]+'\x20逆向き不達='+a[d6(0x171)]+d6(0x24e)+a[d6(0x239)];return c?d+'\x20🚨\x20要対処:\x20supervisor_session\x20未記録の\x20monster\x20がいる(停止='+a[d6(0x1ce)]+'\x20件\x20/\x20台帳='+a['unwired']+d6(0x210):d;}function fn(a,c){const d7=a0bR;let d=a['reason']===d7(0x1ec)?d7(0x1e9):d7(0x24a);return d7(0x166)+c+'\x20の停止イベント\x20'+a[d7(0x1b4)]+d7(0x16c)+a[d7(0x1a8)]+'\x20'+a[d7(0x222)]+d7(0x157)+d;}async function Jt(a0,a1){const d8=a0bR;let a2=new Date(),a3=rn(a1,a2),a4=a1[d8(0x202)]();if(a0[d8(0x1f8)]===null)return{...cn(a0,a4,a1),'unwired':a3};let a5=Date[d8(0x14d)](a0[d8(0x1f8)]),a6=Rt(a4,{'cursorMs':Number[d8(0x13e)](a5)?a5:null,'entries':a0['monsters']}),a7=a0;for(let ad of a6[d8(0x198)])a7=Ht(a7,ad),a1[d8(0x22f)](d8(0x255)+a1['readTarget'](ad)[d8(0x1df)]+d8(0x25d));let {groups:a8,unassigned:a9}=Je(a6[d8(0x187)],a1),aa=new Set(),ab={'injected':0x0,'skippedBusy':0x0,'gone':0x0,'failed':0x0,'blocked':0x0,'reverseInjected':0x0,'reverseBlocked':0x0,'reverseFailed':0x0,'goneRecordSuppressed':0x0};for(let af of a8){if(d8(0x1f0)===d8(0x1f0)){let ag=await an(af,a1);if(ag===d8(0x140)){ab['injected']+=af['items'][d8(0x226)];for(let ah of af[d8(0x207)])a7=Dt(a7,ah['event'][d8(0x1d8)],ah['event']['ts']);continue;}if(ag==='busy'){if(d8(0x262)!=='Cltev'){ab[d8(0x20b)]+=af[d8(0x207)][d8(0x226)];for(let ai of af['items'])aa[d8(0x1a1)](ai[d8(0x26a)][d8(0x1d8)]);}else{if(typeof m!=d8(0x1c1))return null;let ak=n[d8(0x14d)](o);if(!p[d8(0x13e)](ak))return null;let al=new r(ak),am=s(al[d8(0x23c)]())[d8(0x13a)](0x2,'0'),ao=a0(al[d8(0x13b)]())[d8(0x13a)](0x2,'0');return am+':'+ao;}}else{if(ag==='gone'){ab[d8(0x23b)]+=af[d8(0x207)][d8(0x226)];let ak=await Xe(af,a1,a7);a7=ak[d8(0x189)],ab[d8(0x239)]+=ak[d8(0x1b8)];let al=await Ze(af,a1,a7,a2[d8(0x190)]());a7=al[d8(0x189)],ab[d8(0x176)]+=al[d8(0x17c)],ab[d8(0x22e)]+=al[d8(0x1d7)],ab[d8(0x171)]+=al['failed'];for(let am of al[d8(0x254)])aa[d8(0x1a1)](am);}else{if(ag===d8(0x13d)){ab[d8(0x13d)]+=af[d8(0x207)][d8(0x226)];for(let ao of af[d8(0x207)])aa[d8(0x1a1)](ao[d8(0x26a)][d8(0x1d8)]);}else ag===d8(0x21a)&&(ab['blocked']+=af[d8(0x207)][d8(0x226)]);}}}else a1=f[d8(0x14d)](g);}if(a6['maxScannedMs']!==null){let aq=new Date(a6[d8(0x1f7)])['toISOString']();for(let au of a6[d8(0x1b8)])aa[d8(0x203)](au[d8(0x1d8)])||a1[d8(0x22f)](fn(au,a1[d8(0x193)](au[d8(0x1d8)])[d8(0x1df)]));for(let av of a9)aa[d8(0x203)](av['monsterId'])||a1['log'](on(av,a1[d8(0x193)](av[d8(0x1d8)])));let ar=new Set([...a6['notify']['map'](aw=>aw[d8(0x1d8)]),...a6[d8(0x1b8)]['map'](aw=>aw[d8(0x1d8)]),...a6['reacted'],...a9[d8(0x241)](aw=>aw[d8(0x1d8)])]);for(let aw of ar)aa[d8(0x203)](aw)||(a7=X(a7,aw,aq));for(let ax of aa){let ay=K(a7[d8(0x1d2)][ax],a0['cursor_ts']);ay!==null&&(a7=X(a7,ax,ay));}let as=[...aa][d8(0x241)](az=>K(a7['monsters'][az],a0[d8(0x1f8)]))[d8(0x1a7)](az=>az!==null)[d8(0x229)]((az,aA)=>aA<az?aA:az,aq);a7=W(a7,a0[d8(0x1f8)]!==null&&as<a0[d8(0x1f8)]?a0[d8(0x1f8)]:as);}let ac=a6[d8(0x1b8)][d8(0x229)]((az,aA)=>aa[d8(0x203)](aA['monsterId'])?az:az+aA[d8(0x1b4)],0x0);return{'state':Bt(a7),'initialized':!0x1,'injected':ab['injected'],'skippedBusy':ab[d8(0x20b)],'gone':ab['gone'],'unassigned':a9[d8(0x226)],'unwired':a3,'failed':ab['failed'],'suppressed':ac,'reacted':a6[d8(0x198)][d8(0x226)],'blocked':ab[d8(0x1d7)],'reverseInjected':ab[d8(0x176)],'reverseBlocked':ab[d8(0x22e)],'reverseFailed':ab[d8(0x171)],'goneRecordSuppressed':ab[d8(0x239)]};}var ln=0x200*0x400;function zt(c){const d9=a0bR;let d;try{d=a0bH[d9(0x216)](c,'r');}catch{return[];}try{let f=a0bH[d9(0x1fd)](d)[d9(0x219)],g=Math[d9(0x152)](f,ln),i=Buffer[d9(0x224)](g);a0bH[d9(0x220)](d,i,0x0,g,f-g);let m=i['toString'](d9(0x1f5))['split']('\x0a');return g<f?m[d9(0x1cb)](0x1):m;}catch{return[];}finally{a0bH[d9(0x237)](d);}}function dn(){const da=a0bR;return[v,N]['flatMap'](a=>It(zt(a)))[da(0x169)]((a,c)=>a[da(0x21c)]-c[da(0x21c)]);}function q(){const db=a0bR;try{return JSON[db(0x14d)](a0bH['readFileSync'](et,db(0x1f5)))['monsters']??{};}catch{return{};}}function Kt(a,c){const dc=a0bR;return{'shortId':typeof c?.[dc(0x149)]==dc(0x1c1)&&c['short_id'][dc(0x226)]>0x0?c[dc(0x149)]:a[dc(0x1cb)](0x0,0x8),'supervisorSession':typeof c?.[dc(0x25b)]==dc(0x1c1)&&c[dc(0x25b)][dc(0x226)]>0x0?c[dc(0x25b)]:null,'tmuxSession':typeof c?.[dc(0x1b7)]==dc(0x1c1)?c[dc(0x1b7)]:'','status':typeof c?.[dc(0x1dc)]==dc(0x1c1)?c[dc(0x1dc)]:'','unsupervised':c?.['unsupervised']===!0x0,'spawnedAt':typeof c?.[dc(0x1e5)]==dc(0x1c1)?c[dc(0x1e5)]:''};}function pn(a=q()){return c=>{let {shortId:d,supervisorSession:f,tmuxSession:g}=Kt(c,a[c]);return{'shortId':d,'supervisorSession':f,'tmuxSession':g};};}function a0c(a,b){a=a-0x13a;const c=a0a();let d=c[a];if(a0c['LsJGsI']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=0x0,o,p,q=0x0;p=i['charAt'](q++);~p&&(o=n%0x4?o*0x40+p:p,n++%0x4)?l+=String['fromCharCode'](0xff&o>>(-0x2*n&0x6)):0x0){p=j['indexOf'](p);}for(let r=0x0,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(m);};a0c['HQkIcI']=e,a0c['OzYbZW']={},a0c['LsJGsI']=!![];}const f=c[0x0],g=a+f,h=a0c['OzYbZW'][g];return!h?(d=a0c['HQkIcI'](d),a0c['OzYbZW'][g]=d):d=h,d;}function a0a(){const dk=['ioobJowJIUocJoobPUobHoobVUobL+obN++8Ia','BgfZDfvUD2LYzwrbDwrPDerHEq','44gx44gM44gp44gG44gv44ge','vwXrD20','5A2y5zYO44gx44gQ44ge','ioocKUIQREocGEobQUobHoobN+ocGEs4IUABUoobJEobL+obVUobM+ocK++8Ia','5y+x44gr5OMl44gR5yMn5PMV44gUihrTDxGGBgLZDc1ZzxnZAw9UCYdJGPlMKOpJGz/JGzVJGOVOOyZLI5xOPOhMSylJGPlLKkVJGB7JGARJGytVViJMS6JLHAxJGyZMUkZLRPRJGA7JGy3JGApJGyVJGzhJGAFJGA/JGARJGy/LGzZMRAlJGA7MOlNMI6dJGAVJGARJGApJGABJGzFJGB7JGyBVViK','mtuXmdi1mNbts2vUCG','DxrMoa','8j+AQcdPGiBLKjhJGy3MS6JLHAxKUk3MRAi6ioAwH+MDOUocKUE1HoocGEobQUobI+obO+obNYbTB25ZDgvYpq','Bwf4u2nHBM5Lze1Z','y3vYC29Yx3rZ','CMvHzezPBgvtEw5J','Bwf0y2G','CMvHC29U','ioobUoMaGoMbV+obL+obVUobL+obN++8Ia','zNn0yxrtEw5J','Aw5Qzwn0','CNLurMC','vg11EfnLCNzLCLvUCMvHy2HHyMXLrxjYB3i','veHHyuK','CMvHzev2zw50CW','AgfZ','ksG/oG','A2v5CW','mtuYrw93t29M','AxrLBxm','zxHPDa','ywjZzw50','rufdq0vt','C2TPChbLzej1C3K','77YiBw9UC3rLCJ0','77YjiokaLcbZDxbLCNzPC29Yx3nLC3nPB24G5PYQ6kIy6yYY44gU44gF44kb5RoO5ywL5ywi44gm54sH44gp44cb44gt44gU5ygC5Q2I44gV6kQW44gR44kc6ycA55+L44gv44km44gQ44ge77YiC3bHD24G5PMc44gRihn1CgvYDMLZB3jtzxnZAw9UioocKUA4OEobMEobK+obQo+8Iq','6ycg5zcr44gn44gU5zU65A6A44og44oZ44ox44oS44gR5lIa6iE044gx44gQ44ge','CMvHzeXLzgDLCG','ios9K++8IsdIGjqG55UJ6kAw57AY44gR56M044gm6zAl44ge44gM44ge44kl','B2jQzwn0','ioobJowTMowCQoobL+obQUobHcbTB25ZDgvYpq','C3bHD25Lzef0','6yca5BIT44gx44gF','44cqB3jJAgvZDhjHDg9Y44cr','B3bLBLn5BMm','BgfZDf9Zy2fUBMvKx2v2zw50x3rZ','6ywn5lIl6iEQ6lQR44gm55UJ552J44gO44gx44gM6kIy6yYY44gv44km44gM44ge44kl77Yi6iEQ5BEX5RoO5ywL44gR44gQ44kl77Yj','C2L6zq','C2TPChbLza','z292zxjUB3iUBg9N','DhnnCW','C2vZC2LVBKj1C3K','CMvUyw1Lu3LUyW','BMfTzq','CMvHzfn5BMm','77YiC2vZC2LVBJ0','Bgf0zxn0vhm','5y+W5BIZ44gRihrTDxHFC2vZC2LVBIdJGyZNHkhJGy/MS6JLHAxLHyJJGyZMSBRJGB7JGONJGARJGyq','ywXSB2m','8j+AQcdPGiBLKjhJGy3MS6JLHAxKUk3MRAi6ia','BgvUz3rO','Bw9UC3rLCIa','y3vYC29Ytxm','CMvKDwnL','lMXVy2S','BxmG5lUL5yAf44gR5y+w5B6x44gN44gn44gQ44gl44gJ44gF','ic8G','CMfUzg9T','CMv2zxjZzujSB2nRzwq','Bg9N','ihn1CgvYDMLZB3jFC2vZC2LVBJ0','zxjYB3i','5BEU44gx5PsV44gi44gQ44ge','rw50zxi','AhHgzfa','C2vZC2LVBKv4Axn0CW','ywXYzwfKEv9PBMPLy3rLza','y2XVC2vtEw5J','5RoO5ywL6kAl6ycb44kkoIdMLOFPNAlJGPlNTytJGOhJGARJGyVJGApJGz8GBw9UC3rLCJ0','z29UzvjLy29Yzfn1ChbYzxnZzwq','xxSXla','z29Uzq','z2v0sg91CNm','5zwp6Agm44gQ44ge','ioAkKEATOJ0','44ge44gQ44ge','6jc944gH44gF','BwfW','y29YCNvWDa','iowVVUIXOEwKLJ0','nZe1mJKZr3z3q2vQ','mJu4mtmYnMPlvMfYEa','ios7TIdIGjqG','BwvZC2fNzq','mtbWs0jLCwi','77Yj44cc8j+AQcaQkUocU+odG+ocT+odP+odS+obJoEeOEobHoobK+obQoobRUIOVoAlOoobQ+obR+obQUocIUobVUobM+ocKYOQ77Yi5RIS5A6A5lIn6io977Yj44cc5zg844gZ5yE644gx5ywd44gU55kW5Akd44gm5A++6kMX44k344kN44oR44gO6ygv44gg44k944kX44od44oi44ks6kAl44gM44ge44kl5y+V6io95OcN44gm44gc44kk44g+44gz44cc6kMZ57sWoIa','5PEI44gR5RoO5ywL5RIi44g/44gU44kK44oz44oZ44oi44gU44gF44kb5yAn5RoO5ywL44gx44gQ44ge77YiWQCZlJmG5yAQ562j77Yj','BgfZDf9NB25Lx3jLy29YzgvKx2v2zw50x3rZ','D3jPDgu','ioACQUMfJEE3MJ0','igDVBMxOQjJPJllMIPhMRAi9','BwTKAxjtEw5J','zgv0ywLS','zMXVB3i','quTjywy','zxHPC3rZu3LUyW','zMfPBgvKtw9UC3rLCNm','5y+n5B+C6kAZ5RISoIbTB25ZDgvYpq','77Yj44g46ycA55+LioAwH+MDOJ0','iokaLca','zgLYBMfTzq','BgfZDf9PBMPLy3rLzf9LDMvUDf90CW','z2v0','C3vWzxj2AxnVCL9ZzxnZAw9U','mZC2otG1mJLfEuvfBwW','ioobQ+EBO+EDO+obJowpJEw/NoobL+obNYdIGjqG5OQr5Q2I44ks6kEJ6zMK77Yi5QYH44gU5ygC5Q2I44gl44kj5yAn44gZ5RoO5ywL44gz44kl77Yj','ioMaHUwqKEobJEIMI+MaGEocIJ0','nJy4otiWmhDsuNzWta','yNL0zuXLBMD0Aa','44cc54Q25Owl44ks56k66kQn44gx44gM5A++5B+C44gB44ki','C0fNtKm','C3vWzxj2AxnVCI1UB3rPzNKUANnVBG','C3rHDfn5BMm','Dg11EcdJGRxJG7ZJG5dJGAVNUyVJGyZJGORJGB7JGzVJGPpVViHIAw49','A1rbs0u','C3vWzxj2AxnVCI1ZDgf0ztOG54Q25Owl44ov44kH44kK44oR44gm5Aok44km44gM44ge44gF44gU44gNia','ywXYzwfKEv9UB3rPzMLLza','8j+AQca','zxzLBNq','77YiC2vZC2LVBIdLKi3JGyZLJ6/LPiNPG6JJGA4GywXSB3CTBgLZDcdJGPlPGjRJGONJGARJGytJGyVJGihMPjZNN6xMMylLIlVJGyZOQQ3JGOhJGARJGytVViK','CgfKu3rHCNq','z2v0twLUDxrLCW','z21HBKO','zMfPBgvK','AxngAw5PDgu','5lIn5zYO44gm56k65A6A','zgvSAxzLCMvK','zNjVBuvUDhjPzxm','44gM44ge44ge','CMvWBgfJzq','6ygl6lUI44ks57wc44kp44kj44gB44kl5zg95lUK44ks6ygl44kt44gN44ge44kl44cc5RoO5ywL44gV54Q25Rob6ycA55+L44g+44gN44gN44cb5OYh56s644gV6ygl44gW44gQ44ge77Yi6kAb5lU2imkNmU+8IEoaGUwpL+obKEAjI+IhQUI6Q+obQ+A4RoocIEobM+ocI+wrVEs7Po+8IoAsG+obPUodU+AvSoobIoocIo+8IEobQooaGEs6UUobUowiPoAwREocKUAiU+obMEw9OU+8IenutYdJGBJKUiRJGzlJGOJJG7VLGzZMRAlJGA7OPOhLKkBJGA/OSRtLUk3JGAGGq1rpioobJoAXUUocGEocIo+8IEobR+IOSEobLEocJoocI+oaGUEMGEobMoobPUobHoocI+obRUobRYOQ5y+x44gr5OMl44gU6ygl6lUI44ks57wc44kp44kj44gB44kll+s4REAwREobLEobM+ocI+wrVEs7PcOQ44gN44cb55cg55sX44gV6kQK5QsC55+L44gm5y2Z5BQN44gR5lIn5y+V6ycg44gQ5ygC5Q2I44gR44gQ44kk44cb44gx44gl44kc5Q2I44g+44gJ44gF5yg044gm5Q2I44g+44gJ44gF44gB44ge44gN55wW6k2W44ks5zsX44gi44kj44km44gQ44gp44gQ44kl44gF44kb','AxnbCNjHEq','C3rHDguUANnVBG','Dw5SAw5R','BNvTyMvY','C2HVCNrFAwq','zw50CMLLCW','ktOG5PYQ6ywn57EAidaG5lU277Yi56I85yon5lIT44gUig1VBNn0zxiG44gV44gz44g544gMihn1CgvYDMLZB3jFC2vZC2LVBIdJGyZOQjJPJllJGzxJGOZJGABJGytJGOVVViK','y2f0y2G','CgfYC2u','5zU65A6A44og44oZ44ox44oS44gR5lIa6iE044gx44gQ44ge','8j+AQcdMS6JLHAxKUk3MRAi6ia','u1vqrvjwsvnpuL9tvefurv9xuKLurv9sruzvu0veoIa','Dg9mB3DLCKnHC2u','BwLU','lNrTCa','iokgKIdKU4RLM57JGA/KVzxJGOlJGzFJGARJGytVViHZDxbLCNzPC29Yx2DVBMuG44kc6kIy6yYY44gx44gQ44ge77YjoIa','yKHOCgC','ioobRUs4JEwCQoocKUMfJEs4IYbTB25ZDgvYpq','77Yj4Ocuia','DgvZDa','C3vWzxj2AxnVCLnLC3nPB24','CMvUyw1L','8j+AQcdPHy3KUiSGC2vZC2LVBIdJGA7LRP/LNkJJGPlLIktLRPRJGAFJGy3JGB7JGzVJGPmGC2vZC2LVBJ0','C3rHDa','l3vZCI9SB2nHBc9IAw4VDg11Ea','lcbutvvypq','5lIn5zYO44gG','xUoaKg9Yy2HLC3rYyxrVCUoaKEEBO+EDOYbZzxnZAw9Uia','CMv2zxjZzv9PBMPLy3rLzf9ZDxbLCNzPC29Y','AgfZlxnLC3nPB24G44ks5Pkd44gF44gB44gM44ge44kl77Yi6iom5PMV44k344kN44oR44gN5yg944gUierfquqG44ks6l+u44gz5RIS44kk5PA544gN44gc44kk44cb6kQK44kk44gm5zcM5A6A5yg044gR44gG44gr5yE644kl44gF44kb44co55UJ552J44gm5RAi44gi44gF44cp44ks6ygo5yMW55sF5OIq44gz44kl44cc5yMn5PMV44gUihrTDxGGBgLZDc1ZzxnZAw9UCYdJGAFMLBdJGyJJGzxJGzVJGOVJGzpJGAJVViK','77Yjic8G5PAh6z2Ipq','DgLJAYdLROZKUOy6ioAZQowfPt0','z292zxjUB3iUANnVBG','5OQr5Q2IoIbTB25ZDgvYpq','A2LUza','BM9FDgfYz2v0x3nLC3nPB24','C29YDa','zxzLBNruCW','5RIS5A6A5zMO44gU5A++54wN77Yi6iEQ5BIT44gU6kgm5PwW77Yj44ks5zcR44g+44gQ44ge77Yi5y+x44gr5OMl44gm44co55UJ552J44gm5Bgf44gQ44ge44cp44gO44co5RIS44kk5PA544gm5Aok44km44gM44ge44kl44cp44ks5yY65yIL44gN44gn44gQ44ge77Yj','ios7TU+8IoACGoAwSca','6ycg5zcr44gn5RoO5ywLoIdNM6pNNAmGC2vZC2LVBJ0','44oh44ox44oT44kK','5ygC5Q2I44gx44gF','8j+AQcdPGiBLKjhJGy3MS6JLHAxOPOVPGihJGOO6ig1VBNn0zxi9','CMv2zxjZzuzHAwXLza','tfHcDwq','8j+AQcdMS6JLHAxKUk3MRAi6ioAoIoAOQEocKUAeJ+wrS+obMEocI+IQNUocKUwqQ+ocGo+8Ia','5PYQ6kIT5A6A','ig1VBNn0zxi9','CMv2zxjZzuLUAMvJDgvK','y2fWDhvYzs1Wyw5L','Aw5PDgLHBgL6zwq','ioAwH+MDOJ0','quj6Dvm','44gv44km44gF44gx','Aw5Qzwn0zwq','ruvysvnu','44oQ44oQ44o844k5','C3rYAw5NAwz5','yxDHAxrPBMDFAw5WDxq','8j+AQcdMNkRPHy3NT5O6ig1VBNn0zxi9','C2vUzc1RzxLZ','yNvZEsbZA2LWoIbZzxnZAw9Upq','ioobJca','Bg1YCKq','yxbWzw5KrMLSzvn5BMm','BM90Awz5','u3jyC2C','C3rHDgu','5Bgf44gQ44ge','xsSK','qs1Ays16mc05lL9akY0','xUoaKg9Yy2HLC3rYyxrVCUoaKw1VBNn0zxiGwZaToweTzL17msWXmN0G44gmicG/oMf3ywL0Aw5Nx2LUChv0Fhn0B3bWzwqP77YiwZaTov17mN06wZaTov17mN3VViKOpZRJGifTB25ZDgvYifSWltLHlwzDEZeSmtj9ioobJcaOpZPHD2fPDgLUz19PBNb1DhXZDg9WCgvKkE+8IfSWltLDEZj9oLSWltLDEZj977YjksRJGilNIRBMHyVJGPlNORROQO3JGzFJGABLR77LV5ZJGzVJGOGK','zxzLBNrZlMXVzY4Y','77Yj44ccuefuscdJGASGl29WDc9OB21LyNjLDY9IAw4G44gm54sH44geigXHDw5JAgqG562j44gl44kjioI1T+wlLEobLEocJoobPUobHoocI+wpR+IdVEAaP+obJoobGUocIUobVUobMEoaGK1ptLnurvjFve1vwf9csu4G44gN5PIo56s65OYh5A6A44gN44gn44g+44gz44cc5y6F5zUGoIa','Dg9ju09tDhjPBMC','D3jPDgvgAwXL','5RoO5ywLoIbZzxnZAw9Upq','CMvHzfrHCMDLDa','5PYQ6ywn57EA55UJ5P+7','BwTKAxi','ioobJos4JEwCQoobQoAKNoEFPEobLEocJoobN++8Ia','ioobQoIhQUw4Rsa','CMvHy3rLza','Dg11EfnLC3nPB24','u1vqrvjwsvnpuL9tvefurv9mt0nlx1rjtuvpvvq6ia','A2LSBa','Ag9TzwrPCG','44gz44kl44gt44gO','lcbutvvyx1rnuerjuJ0','yNvZEq','77Yi55UJ552J44gm5B6P5Rs744gx44gF5B6m44gR5Bgk44gp44gO5PAh6z2I44gm5zIy44gR44gQ44kl44cc5QsC55+L44gU5AcX5zgk44gO44gx44gM5PU444gp44gt44gO77Yj','ywrK','44gl44g+44kp44gQ44ge','y29Kzq','ihn1CgvYDMLZB3jFz29Uzt0','Dg11Ea','n25orgLmyq','zMLSDgvY','Bgf0zxn0rxzLBNq','tKfXsgC','44oE44o844k4','5O6i5QIP44ks5Osp5zgZ44gz44kl6kQE44ks5zcR44kaoIa','zKfOueO','iokgKIdKU4RLM57JGA/PGiBLKjhJGy3MS6JLHAxJGzFJGARJGyq6ia','mJaWnty0AKTLrhrX','BM93','5QEl44kp44gQ44ge','44gz44g544gx','DgfYz2v0','rvbfuK0','y291BNq','Dw5ZDxbLCNzPC2vK','iowpJEw/Nd0','Dg11Ef9ZzxnZAw9U','C3vWChjLC3nLza','iokgKIdNM6pNNApLRPVJGAVJGA/PGihJGONJGARJGytVViJPHy3KUiVJGBJJGA7PGiBLKjhJGy3PGjRNN6xJGA/LIkxOOyZJGAVLH7RJGOVVViK','veDcDxG','igj1C3NLVOxJGAe9','ChvZAa','ic8G5PAh6z2Ipq','55UJ552JihnLC3nPB24G','77Yi5QYHihrPy2SG44gN5yAn6kMM6kgm77Yj','y1fetM0','C3rYAw5N','6ycg5zcr44gn5RoO5ywL5AsX5Pwx77Yi5QYHihrPy2SG44gN5yAn6kMM6kgm77YjoIbZzxnZAw9Upq','ioMaHUwqKEobJEAZQowfPt0','C3rHDguUBg9JAW','CMvJB3jKu3vWzxj2AxnVCKDVBMu','ioobJowUN+IHJos4RsbTB25ZDgvYpq','C2v0','zxzLBNrZlMXVzY4X','DhjPBq','DMfSDwvZ','C2XPy2u','ioocKIa','C3rKzxjY','Dw5HC3nPz25Lza','CgLK','ioobJoobNEocJoobNUocJos9LEIHJowhUUocI+obI+AvSoobIoocIo+8IoIhQUw4REobJcaWioIHJoobQUocIEA4RoocIUAwUEobJowJIUocJoobPUobHoocI++8IEoaGUEBO+EDO+s4JEwCQoobJos6I+wUN+obQUocIEoaGEMfJEE3MUobRUs7MoobKEABV+obIoocKIbdve8G44g45lIk44gs44ki44cc5ygC5Q2I44gU6kAb5zcM44gV6lk05BIT44gOienutYdJGyZMSBRJGOhJGOG','ioobJoobNEocJoobNUocJos9LEIHJowhUUocI+obI+AvSoobIoocIo+8IoIhQUw4REobJcaWioIHJoobQUocIEA4RoocIUAwUEobJowJIUocJoobPUobHoocI++8IEoaGUEBO+EDO+s4JEwCQoobJos6I+wUN+obQUocIEoaGEMfJEE3MUobRUs7MoobKEABV+obIoocKIbdve8G44g45lIk44gs44ki44cc5ygC5Q2I44gU6kAb5zcM44gV6lk05BIT44gOienutYdJGyZMSBRJGOhJGOGK','Bw9UC3rLCNm','BfnOsey','Dw5YzwfKywjSzq','u1vqrvjwsvnpuL9tvefurv9vtLjfqurbqKXfoIa','DxnLCL9WCM9TChq','yMXVy2TLza','Bw9UC3rLCKLK','ioAZQowfPEs4REATOJ0','Aw5JBhvKzxm','77Yj44cc5yMn5PMV44gNihrTDxGGBgLZDc1ZzxnZAw9UCYdJGPlMKOpJGAhJGie','C3rHDhvZ','zxzLBNrZlMXVzW','55UJ552J44gU5lIn5zYO44ks5PAT5A6A44gx44gM44ge44kloIa','C2HVCNrjza','iokaLcbZDxbLCNzPC29Yx3nLC3nPB24G5PYQ6kIy6yYY44gU44gF44kb44cb44gt44gUig1VBNn0zxiG44gm5Q2I44g+44gJ44gM44kc6kQW44gR44kc6ycA55+L44gv44km44gQ44ge77YiC3bHD24G5PMc44gRihn1CgvYDMLZB3jtzxnZAw9UioocKUA4OEobMEobK+obQo+8Iq','AgfZlxnLC3nPB24','AM9PBG','ru5pru5u','vg11EfvUyxzHAwXHyMXLrxjYB3i','C3bHD25Lzf9HDa','mZKYnZqWCK1NzNHj','ioobJos4JEwCQoobQoAKNoEFPEobLEocJoobN++8IfSWltLDEZj9oLSWltLDEZj977Yj44cc5yMn5PMV44gNihrTDxGGBgLZDc1ZzxnZAw9UCYdJGPlMKOpJGAhJGie','77Yj44cc44gt44gt44gN5PU444gp44gO6kEM44gJ44gM44ge44gQ44geigvUDhj5ioobJowfQoMdQoA2IoobIoobVUobMq','55UJ552J44gm5yMn5zUE44gU6ycA55+L44gR44g+44gG5y+n5B+C44gx44gM44ge44gQ44ge44gF44kb5RoO5ywL44gx44gQ44ge77YiWQCZlJmG5yAQ562j77Yj','m0zQsNbkEq','C2vZC2LVBG','yxDHAxrPBMDFCMvHy3rPB24'];a0a=function(){return dk;};return a0a();}function mn(a=q()){const dd=a0bR;return Object[dd(0x14a)](a)[dd(0x241)](([c,d])=>{let {shortId:f,supervisorSession:g,status:m,unsupervised:p,spawnedAt:u}=Kt(c,d);return{'shortId':f,'supervisorSession':g,'status':m,'unsupervised':p,'spawnedAt':u};});}function _n(){return Gt(zt(I));}async function Sn(a,c){const df=a0bR;await at(ct(a[df(0x1d8)],c[df(0x199)],'supervisor_gone',{'supervisor_session':c[df(0x159)],'trigger_event':a[df(0x26a)],'trigger_ts':a['ts']}));}function Xt(a){let c=q();return{'readEvents':dn,'readTarget':pn(c),'readLedger':()=>mn(c),'lastUnwiredAuditDay':_n,'sessionExists':B,'sessionBusy':lt,'inject':async(d,f)=>{const dg=a0c;let g=await pt(d,f);return{'ok':g['ok'],'error':g[dg(0x231)]};},'recordSupervisorGone':Sn,'log':a};}function Z(a){const dh=a0bR;process['stdout'][dh(0x24c)](new Date()[dh(0x190)]()+'\x20'+a+'\x0a'),it(a);}async function hn(){const di=a0bR;let a=await Lt(),c=await Jt(a,Xt(Z));await Ft(c[di(0x189)],a);let d=Yt(c);d!==null&&Z(d);}hn()['catch'](a=>{const dj=a0bR;Z('tick\x20失敗:\x20'+(a instanceof Error?a[dj(0x247)]:String(a))),process[dj(0x208)](0x1);});
|
|
2
|
+
const a0bP=a0c;(function(a,c){const bO=a0c,d=a();while(!![]){try{const e=parseInt(bO(0x287))/0x1*(parseInt(bO(0x1be))/0x2)+-parseInt(bO(0x1c2))/0x3*(parseInt(bO(0x279))/0x4)+parseInt(bO(0x270))/0x5+-parseInt(bO(0x167))/0x6+-parseInt(bO(0x264))/0x7+parseInt(bO(0x1ab))/0x8*(parseInt(bO(0x165))/0x9)+parseInt(bO(0x23b))/0xa;if(e===c)break;else d['push'](d['shift']());}catch(f){d['push'](d['shift']());}}}(a0a,0x53db7));import*as a0bC from'node:os';import*as a0bD from'node:path';var C=process.env.MONSTER_MCP_ROOT,h=C&&C[a0bP(0x1f3)]>0x0?C:a0bD[a0bP(0x155)](a0bC[a0bP(0x1fa)](),'.claude','monsters'),tt=a0bD['join'](h,a0bP(0x266)),yn=a0bD[a0bP(0x155)](h,a0bP(0x177)),v=a0bD['join'](h,a0bP(0x231)),k=a0bD[a0bP(0x155)](h,a0bP(0x239)),L=a0bD[a0bP(0x155)](h,a0bP(0x14c)),et=0xa*0x400*0x400,qt=0x5*0x400*0x400,E=a0bD[a0bP(0x155)](h,a0bP(0x27c)),x=E+a0bP(0x183),$=a0bD[a0bP(0x155)](h,'supervisor-notify.log'),nt=$+'.1',st=0x2*0x400*0x400,wn=a0bD[a0bP(0x155)](h,a0bP(0x143)),Zt=a0bD[a0bP(0x155)](h,a0bP(0x22b)),vn=Zt+'.1',xn=0xa*0x400*0x400,Qt=a0bD['join'](h,a0bP(0x21d)),On=Qt+'.1',In=0x2*0x400*0x400;import*as a0bE from'node:fs';import*as a0bF from'node:path';var te=/[\u0000-\u001f\u007f-\u009f]/g;function rt(a){const bQ=a0bP;return a[bQ(0x178)](te,'\x20')[bQ(0x178)](/\s+/g,'\x20')['trim']();}function ee(a){const bR=a0bP;try{if(bR(0x1b6)!==bR(0x255)){if(a0bE['statSync'](a[bR(0x26b)])[bR(0x1fb)]<a[bR(0x22f)])return;a0bE[bR(0x175)](a[bR(0x26b)],a[bR(0x1f8)]);}else o(bR(0x150)+(p instanceof r?s[bR(0x154)]:a(u))),y['exit'](0x1);}catch{}}function it(a,c,d=new Date()){const bS=a0bP;let f=d['toISOString']()+'\x20'+rt(c)+'\x0a';try{a0bE[bS(0x20c)](a0bF[bS(0x1c8)](a[bS(0x26b)]),{'recursive':!0x0}),ee(a),a0bE[bS(0x1df)](a[bS(0x26b)],f,'utf8');}catch{}}var ne={'path':$,'rotatePath':nt,'rotateBytes':st};function at(a){it(ne,a);}import*as a0bG from'node:fs';import*as a0bH from'node:fs';import*as a0bI from'node:fs/promises';function se(){const bT=a0bP;a0bH[bT(0x20c)](h,{'recursive':!0x0}),a0bH[bT(0x1f0)](v)||a0bH[bT(0x281)](v,'',bT(0x184));}async function re(){const bU=a0bP;try{if((await a0bI[bU(0x14b)](v))[bU(0x1fb)]<et)return!0x1;}catch{return!0x1;}try{return a0bH[bU(0x1f0)](L)&&await a0bI['unlink'](L),a0bH[bU(0x1f0)](k)&&await a0bI['rename'](k,L),await a0bI['rename'](v,k),await a0bI[bU(0x21f)](v,'',bU(0x184)),!0x0;}catch{return bU(0x163)!==bU(0x189)?!0x1:d?.['last_scanned_event_ts']??e;}}async function ct(a){const bV=a0bP;se(),await re();let c=JSON[bV(0x145)](a)+'\x0a';await a0bI[bV(0x25b)](v,c,bV(0x184));}function ut(a,c,d,f={}){const bW=a0bP;return{'ts':new Date()[bW(0x1bf)](),'monster_id':a,'event':d,'session':c,'meta':f};}import{execFile as a0bJ}from'node:child_process';import{promisify as a0bK}from'node:util';import*as a0bL from'node:fs';var M=a0bK(a0bJ);function ae(){const bX=a0bP;let a=process.env.MONSTER_TMUX_BIN;if(a)return a;for(let c of[bX(0x249),'/usr/local/bin/tmux'])try{if('RTvzu'!==bX(0x237))return d['replace'](c,'\x20')['replace'](/\s+/g,'\x20')[bX(0x291)]();else{if(a0bL[bX(0x1f0)](c))return c;}}catch{}return bX(0x223);}var A=ae(),j=class extends Error{},H=class extends j{constructor(a){const bY=a0bP;super(bY(0x283)+A+bY(0x26e)+String(a)),this[bY(0x24d)]=bY(0x1d7);}},U=class extends j{constructor(a){const bZ=a0bP;super(bZ(0x15a)+A+bZ(0x1a3)+(process.env.TMUX?'\u3042\u308A':'\u306A\u3057')+bZ(0x149)+(process.env.TMUX_TMPDIR??bZ(0x289))+bZ(0x23e)+a),this[bZ(0x24d)]=bZ(0x1b9);}};function ce(a){const c0=a0bP;let c=a?.[c0(0x153)];return c==='ENOENT'||c===c0(0x1a7)||c==='EPERM';}function ue(a){const c1=a0bP;let c=a,d=typeof c?.[c1(0x197)]==c1(0x272)&&c['stderr'][c1(0x1f3)]>0x0?c[c1(0x197)]:String(c?.[c1(0x154)]??a);return lt(d)[c1(0x291)]();}var fe=/can't find session|session not found/i;function le(a){const c2=a0bP;return fe[c2(0x169)](a)?'absent':c2(0x176);}var pe=/\x1b\[[0-9;?]*[A-Za-z]/g;function lt(a){const c3=a0bP;return a[c3(0x178)](pe,'')[c3(0x178)](/\r/g,'');}async function B(a){const c4=a0bP;try{return await M(A,[c4(0x1cc),'-t',a]),!0x0;}catch(c){if('mnzqv'==='vcrcy'){let f=c[c4(0x1e4)](f);f&&(i=f[0x1]);}else{if(ce(c))throw new H(c);let f=ue(c);if(le(f)===c4(0x158))return!0x1;throw new U(f);}}}var de=/esc to interrupt/i;async function pt(a){const c5=a0bP;let c=await dt(a,0x32);return c[c5(0x291)]()[c5(0x1f3)]===0x0?!0x0:de[c5(0x169)](c);}async function dt(a,c){const c6=a0bP;try{if(c6(0x162)!=='iTlgs'){let {stdout:d}=await M(A,[c6(0x1ed),'-t',a,'-p','-S','-'+c]);return lt(d);}else return{'shortId':typeof N?.[c6(0x161)]==c6(0x272)&&O[c6(0x161)]['length']>0x0?S['short_id']:T[c6(0x1ac)](0x0,0x8),'supervisorSession':typeof a0?.[c6(0x269)]==c6(0x272)&&a1[c6(0x269)][c6(0x1f3)]>0x0?a2[c6(0x269)]:null,'tmuxSession':typeof a3?.[c6(0x191)]==c6(0x272)?a4[c6(0x191)]:'','status':typeof a5?.[c6(0x1c0)]==c6(0x272)?a6[c6(0x1c0)]:'','unsupervised':a7?.[c6(0x1ff)]===!0x0,'spawnedAt':typeof a8?.[c6(0x205)]==c6(0x272)?a9['spawned_at']:''};}catch{return'';}}function me(a){const c7=a0bP;return Math[c7(0x26d)](0x64+Math[c7(0x159)](a/0x4),0x5dc);}function _e(a){const c8=a0bP;return a[c8(0x178)](/\n+$/,'');}async function mt(a,c){const c9=a0bP;try{let d=_e(c);await M(A,[c9(0x18d),'-t',a,'-l',d]);let f=me(d['length']);return await new Promise(i=>setTimeout(i,f)),await M(A,[c9(0x18d),'-t',a,c9(0x274)]),await new Promise(i=>setTimeout(i,0xc8)),await M(A,[c9(0x18d),'-t',a,c9(0x274)]),{'ok':!0x0,'bytes':Buffer[c9(0x15d)](d,c9(0x184))};}catch(i){if(c9(0x1c1)!==c9(0x1c4))return{'ok':!0x1,'bytes':0x0,'error':i?.[c9(0x197)]||i?.['message']||c9(0x206)};else{let {shortId:u,supervisorSession:y,status:N,unsupervised:O,spawnedAt:S}=c(f,i);return{'shortId':u,'supervisorSession':y,'status':N,'unsupervised':O,'spawnedAt':S};}}}var G=[a0bP(0x202),a0bP(0x1d9)],St=a0bP(0x28b),Se='\u3002\u72B6\u614B\u3092\u78BA\u8A8D\u3057\u3066\u5BFE\u5FDC\u305B\u3088',ht='A-Za-z0-9._@+-';function he(a){const ca=a0bP;if(typeof a!=ca(0x272))return null;let c=a[ca(0x288)]()['replace'](/[^0-9a-f]/g,'');return c[ca(0x1f3)]===0x0?null:c[ca(0x1ac)](0x0,0xc);}function ge(a){const cb=a0bP;return typeof a==cb(0x272)&&G[cb(0x254)](a);}function gt(a){const cc=a0bP;if(typeof a!=cc(0x272))return null;let c=Date[cc(0x14d)](a);if(!Number['isFinite'](c))return null;let d=new Date(c),f=String(d['getHours']())[cc(0x286)](0x2,'0'),i=String(d[cc(0x210)]())['padStart'](0x2,'0');return f+':'+i;}function Te(a){const cd=a0bP;let c=he(a['shortId']),d=gt(a['ts']);return!c||!d||!ge(a[cd(0x28e)])?null:cd(0x222)+c+cd(0x24c)+a[cd(0x28e)]+'('+d+')';}function Tt(a){const cf=a0bP;let c=[];for(let d of a){let f=Te(d);f&&c['push'](f);}return c[cf(0x1f3)]===0x0?null:''+St+c[cf(0x155)]('\u3001')+Se;}var Ee=new RegExp(a0bP(0x25d)),ye=['\u627F\u8A8D','\u627F\u8AFE','\u4E86\u627F','\u8A31\u53EF','\u8A8D\u53EF','\u8A31\u8AFE','\u88C1\u5B9A','\u6C7A\u88C1','GO','\u30B4\u30FC',a0bP(0x224),'\u30BF\u30B0',a0bP(0x1cf),a0bP(0x14e),'\u672C\u756A','\u53EF',a0bP(0x1b5),a0bP(0x1aa),a0bP(0x256),a0bP(0x173),a0bP(0x23f),a0bP(0x148),a0bP(0x195),'\u5DEE\u3057\u652F\u3048\u306A\u3044',/\b(?:ok|okay|go|approve[ds]?|approval|authoriz(?:e|ed|ation)|merge[ds]?|tag|release|deploy|greenlight)\b/i];function b(a){const cg=a0bP;let c=[];for(let d of ye){if(typeof d==cg(0x272)){a[cg(0x254)](d)&&c[cg(0x1a6)](d);continue;}let f=a[cg(0x1e4)](d);f&&c[cg(0x1a6)](f[0x0]);}return c;}function P(a){const ch=a0bP;return b(a)[ch(0x1f3)]>0x0;}function Et(a){const ci=a0bP;if(!Ee[ci(0x169)](a))return{'ok':!0x1,'reason':ci(0x226)};if(P(a))return{'ok':!0x1,'reason':ci(0x19c)+b(a)['join'](ci(0x1db))};if(xt(a)){let c=Y(a);return{'ok':!0x1,'reason':Ot+':\x20'+c[ci(0x155)](ci(0x1db))};}return{'ok':!0x0};}var yt=0x40,we=new RegExp('^['+ht+a0bP(0x251));function _t(a){const cj=a0bP;if(typeof a!=cj(0x272))return null;let c=a[cj(0x291)]();return c['length']===0x0||c[cj(0x1f3)]>yt||!we['test'](c)?null:c;}function wt(a){const ck=a0bP;let c=_t(a[ck(0x1e1)]),d=_t(a[ck(0x233)]),f=gt(a[ck(0x160)]);return!c||!d||!f?null:St+ck(0x22a)+c+'\x20が不在と検知された('+f+ck(0x144)+c+ck(0x1a2)+d+ck(0x258);}var V='['+ht+']{1,'+yt+'}',ve=new RegExp('^【orchestrator】監督\x20session\x20'+V+'\x20が不在と検知された([0-9]{2}:[0-9]{2})。前景で\x20tmux\x20list-sessions\x20を撃ち、'+V+'\x20と自席\x20'+V+'\x20がそれぞれ何行出るか数えよ(自席が\x200\x20行なら測り方が壊れている)。監督不在が事実なら、配線の付け替えを\x20CTO\x20へ上げよ。停止の要否は貴席と\x20CTO\x20が決めよ$'),xe=/([0-9]{2}:[0-9]{2})/,Oe=/前景で tmux list-sessions を撃ち、/,Ie=/(自席が 0 行なら測り方が壊れている)/,Re=/has-session/,Ae=['\u6D88\u3048\u305F','\u6D88\u6EC5','\u6D88\u5931',a0bP(0x194),'\u6B7B\u4EA1',a0bP(0x219),a0bP(0x1e0),a0bP(0x1ef),a0bP(0x26c),a0bP(0x271),'\u5B58\u5728\u3057\u306A\u3044',a0bP(0x285),a0bP(0x208),a0bP(0x28d),'\u4E0D\u5728\u3067\u3042\u308B','\u4E0D\u5728\u3067\u3059','\u4E0D\u5728\u3060',a0bP(0x23a),/\b(?:is|has|was|been)\s+(?:gone|dead|missing|terminated|absent)\b/i];function vt(a){const cl=a0bP;let c=[];for(let d of Ae){if(cl(0x284)===cl(0x19a))return c['parse'](f['readFileSync'](i,cl(0x184)))[cl(0x185)]??{};else{if(typeof d==cl(0x272)){a[cl(0x254)](d)&&c[cl(0x1a6)](d);continue;}let i=a[cl(0x1e4)](d);i&&c[cl(0x1a6)](i[0x0]);}}return c;}function ke(a){const cm=a0bP;return vt(a)[cm(0x1f3)]>0x0;}var Ne=['\u505C\u6B62','\u7D42\u4E86','\u4E2D\u6B62','\u4E2D\u65AD','\u4F11\u6B62','\u5F85\u6A5F','\u64A4\u53CE','\u64A4\u9000','\u96E2\u8131','\u653E\u68C4','\u4E2D\u5EA7','\u7834\u68C4','\u524A\u9664','\u62B9\u6D88','\u6D88\u53BB','\u51CD\u7D50','\u5C01\u9396','\u9589\u9396','\u89E3\u6563'],$e=['\u305B\u3088','\u305B\u3044','\u3057\u308D','\u3057\u3066','\u3059\u308B\u3053\u3068',a0bP(0x282),a0bP(0x1f1),'\u3059\u3079\u3057','\u9858\u3046'],Me=[new RegExp(a0bP(0x1a0)+Ne[a0bP(0x155)]('|')+a0bP(0x18e)+$e[a0bP(0x155)]('|')+')'),/やめ(?:よ|ろ|て|ること|なさい)/,/\b(?:must|should|please)\s+(?:stop|halt|abort|terminate|cease|suspend|stand\s?down)\b/i,/\b(?:stop|halt|abort|terminate|cease|suspend|shut\s?down|stand\s?down)\s+(?:now|immediately|work(?:ing)?|the\s|your\s|this\s)/i];function Y(a){const co=a0bP;let c=[];for(let d of Me){let f=a[co(0x1e4)](d);f&&c[co(0x1a6)](f[0x0]);}return c;}function xt(a){const cp=a0bP;return Y(a)[cp(0x1f3)]>0x0;}var Ot=a0bP(0x236);function It(a){const cq=a0bP;if(P(a))return{'ok':!0x1,'reason':cq(0x19c)+b(a)['join'](cq(0x1db))};if(xt(a)){let c=Y(a);return{'ok':!0x1,'reason':Ot+':\x20'+c[cq(0x155)]('\x20/\x20')};}return ke(a)?{'ok':!0x1,'reason':cq(0x22d)+vt(a)['join'](cq(0x1db))+'(監督が復活した後に届くと文面が嘘になる。検知の報告として書くこと)'}:Re[cq(0x169)](a)?{'ok':!0x1,'reason':'has-session\x20\u3092\u6483\u305F\u305B\u3066\u3044\u308B\uFF08\u80CC\u666F\u30B7\u30A7\u30EB\u3067\u507D\u306E\x20DEAD\x20\u3092\u8FD4\u3059\u6E2C\u308A\u65B9\u3067\u3042\u308A\u3001\u8AA4\u308A\u304C\u5426\u5B9A\u5074\u306B\u3060\u3051\u51FA\u308B\u305F\u3081\u300E\u76E3\u7763\u304C\u6D88\u3048\u305F\u300F\u3092\u904E\u5270\u751F\u6210\u3059\u308B\u3002\u524D\u666F\u306E\x20tmux\x20list-sessions\x20\u3067\u6570\u3048\u3055\u305B\u308B\u3053\u3068\uFF09'}:xe[cq(0x169)](a)?Oe[cq(0x169)](a)?Ie[cq(0x169)](a)?ve[cq(0x169)](a)?{'ok':!0x0}:{'ok':!0x1,'reason':cq(0x26a)}:{'ok':!0x1,'reason':cq(0x215)}:{'ok':!0x1,'reason':cq(0x25a)}:{'ok':!0x1,'reason':'\u691C\u77E5\u6642\u523B\uFF08HH:MM\uFF09\u3092\u542B\u307E\u306A\u3044\uFF08\u53D7\u3051\u624B\u304C\u901A\u77E5\u306E\u53E4\u3055\u3092\u5224\u65AD\u3067\u304D\u306A\u3044\uFF09'};}var be=['user_prompt','session_end'],Le=a=>typeof a==a0bP(0x280)&&a!==null&&!Array[a0bP(0x174)](a);function je(c){const cr=a0bP;let d=c[cr(0x291)]();if(d['length']===0x0)return null;let f;try{if(cr(0x1c9)!==cr(0x1c9))return d(e)[cr(0x1f3)]>0x0;else f=JSON[cr(0x14d)](d);}catch{return cr(0x201)!==cr(0x213)?null:c[cr(0x1c5)](S=>S[cr(0x1c0)]===cr(0x1e8)&&!S[cr(0x1e1)]&&!S['unsupervised'])['map'](S=>({'shortId':S[cr(0x23d)],'spawnedAt':S[cr(0x1b7)]}));}if(!Le(f))return null;let {ts:o,monster_id:p,event:u}=f;if(typeof o!=cr(0x272)||typeof p!=cr(0x272)||p['length']===0x0||typeof u!=cr(0x272))return null;let y=Date[cr(0x14d)](o);return Number[cr(0x1d0)](y)?{'ts':o,'tsMs':y,'monsterId':p,'event':u}:null;}function Rt(a){const cs=a0bP;let c=[];for(let d of a){let f=je(d);f&&c[cs(0x1a6)](f);}return c;}function Pe(a){const cu=a0bP;return G[cu(0x254)](a);}function Fe(a){const cv=a0bP;return be[cv(0x254)](a);}function At(f,y){const cw=a0bP;let N=new Map(),O=new Map(),a0=new Map();for(let [a6,a7]of Object[cw(0x1f9)](y[cw(0x1f9)])){if(cw(0x1a1)!==cw(0x1a1))try{return f[cw(0x170)](a2,0x0),!0x0;}catch(a9){return a9?.[cw(0x153)]==='EPERM';}else{N['set'](a6,a7[cw(0x25f)]);let a9=Date[cw(0x14d)](a7[cw(0x1b1)]);Number[cw(0x1d0)](a9)&&O[cw(0x1a9)](a6,a9);let aa=a7['last_scanned_event_ts']===void 0x0?NaN:Date[cw(0x14d)](a7[cw(0x1bb)]);Number[cw(0x1d0)](aa)&&a0[cw(0x1a9)](a6,aa);}}let a1=new Set(),a2=new Map(),a3=new Map(),a4=null,a5=(ab,ac)=>{const cx=cw;let ad=ab[cx(0x1fe)]+'\x00'+ac;a3[cx(0x1a9)](ad,{'monsterId':ab[cx(0x1fe)],'reason':ac,'count':(a3[cx(0x216)](ad)?.[cx(0x1b0)]??0x0)+0x1,'latestTs':ab['ts'],'latestEvent':ab['event']});};for(let ab of[...f][cw(0x1d6)]((ac,ad)=>ac[cw(0x232)]-ad[cw(0x232)])){if(y[cw(0x1b2)]!==null&&ab[cw(0x232)]<=y[cw(0x1b2)])continue;(a4===null||ab[cw(0x232)]>a4)&&(a4=ab[cw(0x232)]);let ac=a0[cw(0x216)](ab[cw(0x1fe)]);if(ac!==void 0x0&&ab[cw(0x232)]<=ac)continue;if(Fe(ab['event'])){N['get'](ab[cw(0x1fe)])&&(N['set'](ab[cw(0x1fe)],!0x1),a1[cw(0x166)](ab['monsterId']));continue;}if(!Pe(ab['event']))continue;if(N[cw(0x216)](ab[cw(0x1fe)])){if(cw(0x1f6)!==cw(0x245)){a5(ab,cw(0x25f));continue;}else return{...N,'monsters':{...a3[cw(0x185)],[a4]:{...a0[cw(0x185)][O],'last_injected_event_ts':f,'awaiting_reaction':!0x0}}};}let ad=O[cw(0x216)](ab[cw(0x1fe)]);if(ad!==void 0x0&&ab['tsMs']<=ad){a5(ab,cw(0x156));continue;}a2[cw(0x1a9)](ab[cw(0x1fe)],ab);}return{'notify':[...a2[cw(0x260)]()][cw(0x1d6)]((ag,ah)=>ag[cw(0x232)]-ah[cw(0x232)]),'suppressed':[...a3['values']()],'reacted':[...a1],'maxScannedMs':a4};}import*as a0bM from'node:fs/promises';import*as a0bN from'node:path';var De=0xea60,Kn=De*0x3;function kt(a){const cy=a0bP;try{return process['kill'](a,0x0),!0x0;}catch(c){return cy(0x290)===cy(0x20a)?!0x1:c?.['code']==='EPERM';}}var Ce=0xc8,He=()=>({'version':0x1,'cursor_ts':null,'monsters':{}}),z=a=>typeof a==a0bP(0x280)&&a!==null&&!Array[a0bP(0x174)](a),J=a=>typeof a=='string'&&a[a0bP(0x1f3)]>0x0?a:void 0x0;function Ue(c){const cz=a0bP;if(!z(c))return{};let d={};for(let [f,o]of Object[cz(0x1f9)](c)){if(!z(o)||typeof o[cz(0x1b1)]!='string')continue;let p=J(o[cz(0x1ae)]),u=J(o[cz(0x221)]),y=J(o['last_scanned_event_ts']);d[f]={'last_injected_event_ts':o[cz(0x1b1)],'awaiting_reaction':o[cz(0x25f)]===!0x0,...p===void 0x0?{}:{'reverse_injected_supervisor':p},...u===void 0x0?{}:{'last_gone_recorded_event_ts':u},...y===void 0x0?{}:{'last_scanned_event_ts':y}};}return d;}function Be(a){const cA=a0bP;let c=JSON[cA(0x14d)](a);if(!z(c))throw new Error(cA(0x1d8));return{'version':0x1,'cursor_ts':typeof c[cA(0x1eb)]==cA(0x272)?c['cursor_ts']:null,'monsters':Ue(c[cA(0x185)])};}var F=new WeakMap();function Nt(a){const cB=a0bP;let c=a;return''+(typeof c?.['code']=='string'?c[cB(0x153)]+':\x20':'')+String(c?.[cB(0x154)]??a);}async function D(){const cC=a0bP;let a;try{a=await a0bM[cC(0x1f5)](E,cC(0x184));}catch(c){return c?.['code']===cC(0x227)?{'ok':!0x0,'state':He()}:{'ok':!0x1,'kind':'unreadable','detail':Nt(c)};}try{return cC(0x234)===cC(0x265)?[]:{'ok':!0x0,'state':Be(a)};}catch(f){return{'ok':!0x1,'kind':cC(0x16e),'detail':Nt(f)};}}async function Ve(a){let c=null;return await Ft(async()=>{const cD=a0c;let d=await D();if(d['ok']||d[cD(0x1fc)]!==cD(0x16e))return;let f=new Date()[cD(0x1bf)]()['replace'](/[:.]/g,'-'),i=E+cD(0x22c)+f+'.'+process['pid'];await a0bM[cD(0x181)](E,i),c=i,process[cD(0x197)][cD(0x268)](cD(0x228)+i+cD(0x275)+a+')\x0a');}),c;}var Ge=0x32;function Ye(a){return new Promise(c=>setTimeout(c,a));}function $t(a){const cE=a0bP;return new Error(cE(0x179)+E+cE(0x186)+a+')');}async function Pt(){const cF=a0bP;let a=await D();if(a['ok'])return F[cF(0x1a9)](a[cF(0x1f2)],structuredClone(a['state'])),a[cF(0x1f2)];if(a[cF(0x1fc)]===cF(0x17a))throw $t(a[cF(0x28f)]);await Ye(Ge);let c=await D();if(c['ok'])return F[cF(0x1a9)](c['state'],structuredClone(c['state'])),c['state'];if(c[cF(0x1fc)]===cF(0x17a))throw $t(c[cF(0x28f)]);let d=await Ve(c[cF(0x28f)]);throw new Error(cF(0x151)+E+cF(0x22e)+c['detail']+')。'+(d?d+'\x20へ退避しました(消さないこと)。':'')+'\u{1F6A8}\x20\u3053\u308C\u306F\u300C\u5BFE\u8C61\u304C\u7121\u3044\u300D\u3053\u3068\u306E\u8A3C\u62E0\u3067\u306F\u3042\u308A\u307E\u305B\u3093\uFF08\u6E2C\u5B9A\u4E0D\u80FD\uFF09');}var Mt=0x0;function Je(){const cG=a0bP;return Mt+=0x1,E+'.'+process['pid']+'-'+Mt+cG(0x1ba);}var bt=0x2710,Lt=0x3a98;function a0a(){const dm=['lMnVCNj1ChqU','55UJ552J44gU5lIn5zYO44ks5PAT5A6A44gx44gM44ge44kloIa','ioobJowJIUocJoobPUobHoobVUobL+obN++8Ia','CM90yxrLqNL0zxm','z29UzvjLy29Yzfn1ChbYzxnZzwq','zxzLBNrZlMXVzW','DhnnCW','C3vIB3jKAw5HDgvtzxnZAw9U','EfPbt2W','Eu1iExG','6ygl6lUI44ks57wc44kp44kj44gB44kl5zg95lUK44ks6ygl44kt44gN44ge44kl44cc5RoO5ywL44gV54Q25Rob6ycA55+L44g+44gN44gN44cb5OYh56s644gV6ygl44gW44gQ44ge77Yi6kAb5lU2imkNmU+8IEoaGUwpL+obKEAjI+IhQUI6Q+obQ+A4RoocIEobM+ocI+wrVEs7Po+8IoAsG+obPUodU+AvSoobIoocIo+8IEobQooaGEs6UUobUowiPoAwREocKUAiU+obMEw9OU+8IenutYdJGBJKUiRJGzlJGOJJG7VLGzZMRAlJGA7OPOhLKkBJGA/OSRtLUk3JGAGGq1rpioobJoAXUUocGEocIo+8IEobR+IOSEobLEocJoocI+oaGUEMGEobMoobPUobHoocI+obRUobRYOQ5y+x44gr5OMl44gU6ygl6lUI44ks57wc44kp44kj44gB44kll+s4REAwREobLEobM+ocI+wrVEs7PcOQ44gN44cb55cg55sX44gV6kQK5QsC55+L44gm5y2Z5BQN44gR5lIn5y+V6ycg44gQ5ygC5Q2I44gR44gQ44kk44cb44gx44gl44kc5Q2I44g+44gJ44gF5yg044gm5Q2I44g+44gJ44gF44gB44ge44gN55wW6k2W44ks5zsX44gi44kj44km44gQ44gp44gQ44kl44gF44kb','uLr2ENu','vKvKtwq','zxzLBNrZlMXVzY4X','5lIn5zYO44gm56k65A6A','mJy3nJGWmfrvsMjxAG','BxmG5lUL5yAf44gR5y+w5B6x44gN44gn44gQ44gl44gJ44gF','C2HVCNrjza','77Yj44cc8j+AQcaQkUocU+odG+ocT+odP+odS+obJoEeOEobHoobK+obQoobRUIOVoAlOoobQ+obR+obQUocIUobVUobM+ocKYOQ77Yi5RIS5A6A5lIn6io977Yj44cc5zg844gZ5yE644gx5ywd44gU55kW5Akd44gm5A++6kMX44k344kN44oR44gO6ygv44gg44k944kX44od44oi44ks6kAl44gM44ge44kl5y+V6io95OcN44gm44gc44kk44g+44gz44cc6kMZ57sWoIa','44gl44g+44kp44gQ44ge','C3vWzxj2AxnVCL9NB25L','5y+W5BIZ44gRihrTDxHFC2vZC2LVBIdJGyZNHkhJGy/MS6JLHAxLHyJJGyZMSBRJGB7JGONJGARJGyq','CMv2zxjZzuzHAwXLza','Dg11EfnLC3nPB24','v01twha','Cuvpv1a','y1jtu0W','ioobQ+EBO+EDO+obJowpJEw/NoobL+obNYdIGjqG5OQr5Q2I44ks6kEJ6zMK77Yi5QYH44gU5ygC5Q2I44gl44kj5yAn44gZ5RoO5ywL44gz44kl77Yj','zMXHDe1HCa','l29WDc9OB21LyNjLDY9IAw4VDg11Ea','BM93','Aw5Qzwn0','ioobJca','BMfTzq','ioobQ+IOREwUMU+8IoMbJUwoU+obRUwbNoATOUobR+AZQowfPEobL+obQUobHo+8Iq','iokgKIdKU4RLM57JGA/KVzxJGOlJGzFJGARJGytVViHZDxbLCNzPC29Yx2DVBMuG44kc6kIy6yYY44gx44gQ44ge77YjoIa','igj1C3NLVOxJGAe9','xsSK','ioAkKEATOJ0','AxrLBxm','Aw5JBhvKzxm','AxzgwNC','44gM44ge44ge','A2v5CW','ioobJoobNEocJoobNUocJos9LEIHJowhUUocI+obI+AvSoobIoocIo+8IoIhQUw4REobJcaWioIHJoobQUocIEA4RoocIUAwUEobJowJIUocJoobPUobHoocI++8IEoaGUEBO+EDO+s4JEwCQoobJos6I+wUN+obQUocIEoaGEMfJEE3MUobRUs7MoobKEABV+obIoocKIbdve8G44g45lIk44gs44ki44cc5ygC5Q2I44gU6kAb5zcM44gV6lk05BIT44gOienutYdJGyZMSBRJGOhJGOG','Bg9N','5y+x44gr5OMl44gR5yMn5PMV44gUihrTDxGGBgLZDc1ZzxnZAw9UCYdJGPlMKOpJGz/JGzVJGOVOOyZLI5xOPOhMSylJGPlLKkVJGB7JGARJGytVViJMS6JLHAxJGyZMUkZLRPRJGA7JGy3JGApJGyVJGzhJGAFJGA/JGARJGy/LGzZMRAlJGA7MOlNMI6dJGAVJGARJGApJGABJGzFJGB7JGyBVViK','yxbWzw5KrMLSzq','ioobRUwbNoATOUocPoodMEodS+odIca','xUoaKg9Yy2HLC3rYyxrVCUoaKw1VBNn0zxiGwZaToweTzL17msWXmN0G44gmicG/oMf3ywL0Aw5Nx2LUChv0Fhn0B3bWzwqP77YiwZaTov17mN06wZaTov17mN3VViKOpZRJGifTB25ZDgvYifSWltLHlwzDEZeSmtj9ioobJcaOpZPHD2fPDgLUz19PBNb1DhXZDg9WCgvKkE+8IfSWltLDEZj9oLSWltLDEZj977YjksRJGilNIRBMHyVJGPlNORROQO3JGzFJGABLR77LV5ZJGzVJGOGK','ig1VBNn0zxi9','yxDHAxrPBMDFCMvHy3rPB24','DMfSDwvZ','ioMaHUwqKEobJEs4JEMbLd0','Dg9tDhjPBMC','5OQr5Q2IoIbTB25ZDgvYpq','ntq2mJm4qxrYwxDL','Eg5ksxK','C3rHDguUANnVBG','zgf0Awu','D3jPDgu','C3vWzxj2AxnVCL9ZzxnZAw9U','6ycg5zcr44gn44gU5zU65A6A44og44oZ44ox44oS44gR5lIa6iE044gx44gQ44ge','Cgf0Aa','5ygC5Q2I44gx44gF','BwLU','77Yj44ccuefuscdJGASGl29WDc9OB21LyNjLDY9IAw4G44gm54sH44geigXHDw5JAgqG562j44gl44kjioI1T+wlLEobLEocJoobPUobHoocI+wpR+IdVEAaP+obJoobGUocIUobVUobMEoaGK1ptLnurvjFve1vwf9csu4G44gN5PIo56s65OYh5A6A44gN44gn44g+44gz44cc5y6F5zUGoIa','u1vqrvjwsvnpuL9tvefurv9xuKLurv9sruzvu0veoIa','mJeYmde2mffJCwrnAa','6jc944gH44gF','C3rYAw5N','ioIhQUw4Rt0','rw50zxi','ioobUoMaGoMbV+obL+obVUobL+obN++8Ia','zNjVBuvUDhjPzxm','zxHPDa','8j+AQcdPGiBLKjhJGy3MS6JLHAxKUk3MRAi6ioAwH+MDOUocKUE1HoocGEobQUobI+obO+obNYbTB25ZDgvYpq','ndCWmhntrhjfDq','77YjiokaLcbZDxbLCNzPC29Yx3nLC3nPB24G5PYQ6kIy6yYY44gU44gF44kb5RoO5ywL5ywi44gm54sH44gp44cb44gt44gU5ygC5Q2I44gV6kQW44gR44kc6ycA55+L44gv44km44gQ44ge77YiC3bHD24G5PMc44gRihn1CgvYDMLZB3jtzxnZAw9UioocKUA4OEobMEobK+obQo+8Iq','5RoO5ywL6kAl6ycb44kkoIdMLOFPNAlJGPlNTytJGOhJGARJGyVJGApJGz8GBw9UC3rLCJ0','C3vWzxj2AxnVCI1UB3rPzNKUANnVBG','yMXVy2TLza','ioocKUIQREocGEobQUobHoobN+ocGEs4IUABUoobJEobL+obVUobM+ocK++8Ia','ioocKIa','B2jQzwn0','D3jPDgvgAwXLu3LUyW','44gv44km44gF44gx','Dg11EcdJGPlLRP/OOyZJGAFJGy3JGB7JGzVJGPpVViHIAw49','t3HpA1y','5Bgf44gQ44ge','CgfKu3rHCNq','mJiXtfLcrezZ','Dg9mB3DLCKnHC2u','5PYQ6kIT5A6A','C3vWzxj2AxnVCL9NB25LoIbZzxnZAw9Upq','44cqB3jJAgvZDhjHDg9Y44cr','txDtsK4','44ge44gQ44gp44gQ44gJ44gF','zxzLBNq','zgv0ywLS','rwrUEM8','DhjPBq','y2XVC2vtEw5J','yNvZEsbZA2LWoIbZzxnZAw9Upq','55UJ552J44gm5yMn5zUE44gU6ycA55+L44gR44g+44gG5y+n5B+C44gx44gM44ge44gQ44ge44gF44kb5RoO5ywL44gx44gQ44ge77YiWQCZlJmG5yAQ562j77Yj','zgvSAxzLCMvK','CMvHzeXLzgDLCG','z292zxjUB3iUANnVBG','77Yj44cc5yMn5PMV44gNihrTDxGGBgLZDc1ZzxnZAw9UCYdJGPlMKOpJGAhJGie','C3rYAw5NAwz5','y2f0y2G','ihn1CgvYDMLZB3jFC2vZC2LVBJ0','44gx44gM44gp44gG44gv44ge','lcbutvvyx1rnuerjuJ0','B3bLBLn5BMm','C3rHDa','zxzLBNrZlMXVzY4Y','CgfYC2u','44oh44ox44oT44kK','C2vZC2LVBKj1C3K','DgLJAYdLPlhMLzC6ia','u1vqrvjwsvnpuL9tvefurv9dt1jsvvbuoIa','BwTKAxi','y29Kzq','BwvZC2fNzq','AM9PBG','ywXYzwfKEv9PBMPLy3rLza','5PEI44gR5RoO5ywL5RIi44g/44gU44kK44oz44oZ44oi44gU44gF44kb5yAn5RoO5ywL44gx44gQ44ge77YiWQCZlJmG5yAQ562j77Yj','ywjZzw50','zMXVB3i','Dg11EcdJGRxJG7ZJG5dJGAVNUyVJGyZJGORJGB7JGzVJGPpVViHIAw49','ios7TIaViowpSow4SZ0','zxjYB3i','yNL0zuXLBMD0Aa','77Yj44g46ycA55+LioAwH+MDOJ0','77YiC2vZC2LVBJ0','zgv0zwn0zwrbDa','C2HVCNrFAwq','rffTuu8','q3zcC0S','C3rKB3v0','mtC1mZG0ofbIy2LfEG','ywrK','mZm4mZu4nNnQtLvNrW','zuDvA24','DgvZDa','zMfPBgvK','rvbfuK0','ioMaHUwqKEobJEIMI+MaGEocIJ0','DgfYz2v0','y29YCNvWDa','zvf2s0i','A2LSBa','ruvysvnu','ic8G5PAh6z2Ipq','5QEl44kp44gQ44ge','AxnbCNjHEq','CMvUyw1Lu3LUyW','Dw5TzwfZDxjHyMXL','C3rHDguUBg9JAW','CMvWBgfJzq','u1vqrvjwsvnpuL9tvefurv9vtLjfqurbqKXfoIa','Dw5YzwfKywjSzq','8j+AQcdPGiBLKjhJGy3MS6JLHAxOPOVPGihJGOO6ig1VBNn0zxi9','ywXSB2m','z29Uzq','ios9K++8IsdIGjqG55UJ6kAw57AY44gR56M044gm6zAl44ge44gM44ge44kl','CMvHzev2zw50CW','iowpJEw/Nd0','CMvUyw1L','Bgf0zxn0rxzLBNq','lMXVy2S','DxrMoa','Bw9UC3rLCNm','ioocKUIQREocGEobVUobM+ocK+obP+obL+obN++8Ia','AgfZ','ioACQUMfJEE3MJ0','sej3uxK','thL5wLK','ios7TU+8IoACGoAwSca','CMvKDwnL','C2vUzc1RzxLZ','ksG/oG','CMvHC29U','5yID5zUEihrPy2S6ioocQ+odVoocVEodQ+ocKIa','Dg11Ef9ZzxnZAw9U','77YiBw9UC3rLCJ0','BM9FDgfYz2v0x3nLC3nPB24','5Q2744kt44gG','5zwp6Agm44gQ44ge','tu1NAhy','C3rKzxjY','ruLZANC','venZwuy','swDcwxm','BwfW','5O6i5QIP44ks5Osp5zgZ44gz44kl6kQE44ks5zcR44kaoIa','C3vWChjLC3nLza','ioobJowTMowCQoobL+obQUobHcbTB25ZDgvYpq','DgLJAYdLROZKUOy6ioAZQowfPt0','kd86','sM9NCK8','ioobQoIhQUw4Rsa','lcbutvvypq','5y+n5B+C6kAZ5RISoIbTB25ZDgvYpq','C2TPChbLza','ChvZAa','rufdq0vt','77Yjic8G5PAh6z2Ipq','C2v0','44gM6iMV44ge','mtznrMThy2e','C2XPy2u','ios7TIdIGjqG','CMv2zxjZzv9PBMPLy3rLzf9ZDxbLCNzPC29Y','ktOG5PYQ6ywn57EAia','y291BNq','BgfZDf9PBMPLy3rLzf9LDMvUDf90CW','y3vYC29Ytxm','CgLK','EuHHALy','44gM44ki44ge','vermzgu','C3bHD25Lzef0','ipcFMQGG6kAb5A++5yEMoIbZDxbLCNzPC29Yx3nLC3nPB24G5PYQ6kIy6yYY44gUig1VBNn0zxiG44gm44ge44kl77Yi5ygC5Q2Ipq','vg11EfnLCNzLCLvUCMvHy2HHyMXLrxjYB3i','lNrTCa','BgfZDf9Zy2fUBMvKx2v2zw50x3rZ','Aw5PDgLHBgL6zwq','u1vqrvjwsvnpuL9tvefurv9mt0nlx1rjtuvpvvq6ia','mJKWnLnNqLrMBW','Dg9ju09tDhjPBMC','C3rHDhvZ','t0HHuNq','mta2nxf3BMfntG','Dw5HC3nPz25Lza','swz1Eeq','zMLSDgvY','ioAZQowfPEs4REATOJ0','77Yj44gm5A6F5zYO44gx44gQ44geiokaLcdNN6xJGONJGzVJGOVNM7JMIyVJGyZLSyxJGARJGytVViHYzwnVBMnPBguG44gm5y+W5BIZ44ks55U044gz77Yj','zgLYBMfTzq','zefnzK0','Dw53AxjLza','A3fYuhG','AgfZlxnLC3nPB24','C2vSzG','ioMaHUwqKEobJEAZQowfPt0','44oQ44oQ44o844k5','AxngAw5PDgu','CxrjAuS','BgfZDfvUD2LYzwrbDwrPDerHEq','BM90Awz5','CMv2zxjZzuLUAMvJDgvK','BxrPBwvnCW','C29YDa','vg11EfvUyxzHAwXHyMXLrxjYB3i','44kQ44ow44k444kN44kV44oi44gN44gV44gQ44ge','C3rVChbLza','BhzAwKu','ic8G','zMfPBgvKtw9UC3rLCNm','8j+AQcdPHy3KUiSGC2vZC2LVBIdJGA7LRP/LNkJJGPlLIktLRPRJGAFJGy3JGB7JGzVJGPmGC2vZC2LVBJ0','sxnpthy','yxbWzw5KrMLSzvn5BMm','57wc5lQg44gx44gF','C3vWzxj2AxnVCLnLC3nPB24','iokgKIdKU4RLM57JGA/PGiBLKjhJGy3MS6JLHAxJGzFJGARJGyq6ia','6ycg5zcr44gn5RoO5ywLoIdNM6pNNAmGC2vZC2LVBJ0','Bwf0y2G','CMvHzezPBgvtEw5J','CMv2zxjZzujSB2nRzwq','CMvHy3rLza','CNvUBMLUzW','s0TuuKe','BNvTyMvY','y3vYC29Yx3rZ','CMvHzfrHCMDLDa','y2fWDhvYzs1Wyw5L','8j+AQcdMS6JLHAxKUk3MRAi6ia','6yca5BIT44gx44gF','zxHPC3rZu3LUyW','44gQ44gv44ge','C3rHDgu','BgvUz3rO','8j+AQcdMNkRPHy3NT5O6ig1VBNn0zxi9','CMvHzezPBgu','z0Tcr1u','C3bSAxq','CM90yxrLugf0Aa','zw50CMLLCW','Ag9TzwrPCG','C2L6zq','A2LUza','igDVBMxOQjJPJllMIPhMRAi9','Bw9UC3rLCKLK','Dw5ZDxbLCNzPC2vK','8j+AQcdPGiBLKjhJGy3MS6JLHAxKUk3MRAi6ia','sfzZrvm','yxDHAxrPBMDFAw5WDxq','C2TPChbLzej1C3K','6ywn5lIl6iEQ6lQR44gm55UJ552J44gO44gx44gM6kIy6yYY44gv44km44gM44ge44kl77Yi6iEQ5BEX5RoO5ywL44gR44gQ44kl77Yj','C3bHD25Lzf9HDa','Dg11EcbZzw5KlwTLExmGzMfPBgvK','77Yi5QYHihrPy2SG44gN5yAn6kMM6kgm77Yj','44ge44gQ44ge','Aw5Qzwn0zwq','CLrMzNa','khnWyxDUzwqG','BwTKAxjtEw5J','yNvZEq','ktOG5PYQ6ywn57EAidaG5lU277Yi56I85yon5lIT44gUig1VBNn0zxiG44gV44gz44g544gMihn1CgvYDMLZB3jFC2vZC2LVBIdJGyZOQjJPJllJGzxJGOZJGABJGytJGOVVViK','5RoO5ywL5AsX5Pwx77Yi5QYHihrPy2SG44gN5yAn6kMM6kgm77YjoIbZzxnZAw9Upq','z2v0twLUDxrLCW','ywXYzwfKEv9UB3rPzMLLza','ioAwH+MDOJ0','s0X1qKO','C2vZC2LVBG','5RIS5A6A5zMO44gU5A++54wN77Yi6iEQ5BIT44gU6kgm5PwW77Yj44ks5zcR44g+44gQ44ge77Yi5y+x44gr5OMl44gm44co55UJ552J44gm5Bgf44gQ44ge44cp44gO44co5RIS44kk5PA544gm5Aok44km44gM44ge44kl44cp44ks5yY65yIL44gN44gn44gQ44ge77Yj','z2v0','AgD1ALK','C2vZC2LVBKv4Axn0CW','5AsX5yQ544gx44gF','5PYQ6ywn57EA55UJ5P+7','CMvHzfn5BMm','5RoO5ywLoIbZzxnZAw9Upq','C2vSzMHLywWUBg9N','zNn0yxrtEw5J','D3jPDgvgAwXL','iowVVUIXOEwKLJ0','BgfZDf9NB25Lx3jLy29YzgvKx2v2zw50x3rZ','Bw9UC3rLCIa','Dg11Ea','44oE44o844k4','8j+AQcdMS6JLHAxKUk3MRAi6ioAoIoAOQEocKUAeJ+wrS+obMEocI+IQNUocKUwqQ+ocGo+8Ia','5zU65A6A44og44oZ44ox44oS44gR5lIa6iE044gx44gQ44ge','ru5pru5u','C3vWzxj2AxnVCI1ZDgf0ztOG54Q25Owl44ov44kH44kK44oR44gm5Aok44km44gM44ge44gF44gU44gNia','C2ToBeK','55UJ552JihnLC3nPB24G','z292zxjUB3iUBg9N'];a0a=function(){return dm;};return a0a();}function ze(a){return new Promise(c=>setTimeout(c,a));}async function Ft(a){const cH=a0bP;await a0bM[cH(0x152)](a0bN[cH(0x1c8)](E),{'recursive':!0x0});let c=Date['now']()+Lt;for(;;){try{if(cH(0x246)==='awSfj'){let i=o[cH(0x21e)](p)[cH(0x1fb)],o=r[cH(0x26d)](i,s),p=a[cH(0x17c)](o);u[cH(0x21b)](y,p,0x0,o,i-o);let r=p['toString'](cH(0x184))[cH(0x1f7)]('\x0a');return o<i?r[cH(0x1ac)](0x1):r;}else{await a0bM[cH(0x21f)](x,JSON[cH(0x145)]({'pid':process['pid'],'ts':Date['now']()}),{'flag':'wx'});break;}}catch(i){if(i?.['code']!==cH(0x171))throw i;}let d=!0x1;try{if('PRwaO'===cH(0x28c))return d['includes'](e);else{let p=JSON[cH(0x14d)](await a0bM[cH(0x1f5)](x,cH(0x184)));d=typeof p?.[cH(0x1b3)]==cH(0x1ea)&&(!kt(p[cH(0x1b3)])||Date[cH(0x24a)]()-Number(p['ts']??0x0)>bt);}}catch{try{let r=await a0bM[cH(0x14b)](x);d=Date[cH(0x24a)]()-r[cH(0x1d5)]>bt;}catch{}}if(d){if(cH(0x1d1)===cH(0x1d1)){let u=x+'.stale.'+process['pid'];await a0bM['rename'](x,u)[cH(0x146)](()=>{}),await a0bM['rm'](u,{'force':!0x0})[cH(0x146)](()=>{});continue;}else return cH(0x1f4)+c[cH(0x23d)]+'\x20が\x20'+f[cH(0x28e)]+'('+i['ts']+cH(0x27a);}if(Date[cH(0x24a)]()>c)throw new Error(cH(0x1bd)+x+cH(0x27f)+Lt+cH(0x23c));await ze(0x5+Math['random']()*0x14);}try{return await a();}finally{try{JSON[cH(0x14d)](await a0bM['readFile'](x,cH(0x184)))?.[cH(0x1b3)]===process[cH(0x1b3)]&&await a0bM['rm'](x,{'force':!0x0});}catch{}}}function Ke(c,d,f){const cI=a0bP;let p={'version':0x1,'cursor_ts':c[cI(0x1eb)],'monsters':{...c[cI(0x185)]}};d['cursor_ts']!==f[cI(0x1eb)]&&(p[cI(0x1eb)]=f[cI(0x1eb)]);let u=new Set([...Object[cI(0x257)](d['monsters']),...Object[cI(0x257)](f[cI(0x185)])]);for(let y of u){let N=d['monsters'][y],O=f['monsters'][y];JSON[cI(0x145)](N)!==JSON[cI(0x145)](O)&&(O===void 0x0?delete p['monsters'][y]:p[cI(0x185)][y]=O);}return p;}async function Dt(a,c){await Ft(async()=>{const cJ=a0c;let d=await D();if(!d['ok'])throw new Error(cJ(0x26f)+E+cJ(0x27e)+d[cJ(0x1fc)]+':\x20'+d[cJ(0x28f)]+')。ここで書くと触っていない\x20entry\x20が全部消えます');let f=F[cJ(0x216)](c??a),p=f?Ke(d['state'],f,a):a,u=JSON['stringify'](p,null,0x2)+'\x0a',y=Je();try{if(cJ(0x198)!==cJ(0x18a))await a0bM[cJ(0x21f)](y,u,cJ(0x184)),await a0bM[cJ(0x181)](y,E);else return{'ok':!0x1,'kind':cJ(0x16e),'detail':d(c)};}catch(O){throw await a0bM['rm'](y,{'force':!0x0})[cJ(0x146)](()=>{}),O;}F[cJ(0x1a9)](a,structuredClone(a));});}function Ct(a,c,d){const cK=a0bP;return{...a,'monsters':{...a[cK(0x185)],[c]:{...a['monsters'][c],'last_injected_event_ts':d,'awaiting_reaction':!0x0}}};}function Ht(a,c,d,f){const cL=a0bP;let i=a['monsters'][c];return{...a,'monsters':{...a[cL(0x185)],[c]:{...i,'last_injected_event_ts':i?.[cL(0x1b1)]??f,'awaiting_reaction':i?.[cL(0x25f)]??!0x1,'reverse_injected_supervisor':d}}};}function Ut(a,c,d){const cM=a0bP;let f=a['monsters'][c];return{...a,'monsters':{...a[cM(0x185)],[c]:{...f,'last_injected_event_ts':f?.[cM(0x1b1)]??d,'awaiting_reaction':f?.[cM(0x25f)]??!0x1,'last_gone_recorded_event_ts':d}}};}function K(a,c){const cN=a0bP;return a?.[cN(0x1bb)]??c;}function X(a,c,d){const cO=a0bP;let f=a[cO(0x185)][c];return{...a,'monsters':{...a[cO(0x185)],[c]:{...f,'last_injected_event_ts':f?.[cO(0x1b1)]??d,'awaiting_reaction':f?.[cO(0x25f)]??!0x1,'last_scanned_event_ts':d}}};}function Bt(a,c){const cP=a0bP;let d=a[cP(0x185)][c];return!d||!d[cP(0x25f)]?a:{...a,'monsters':{...a['monsters'],[c]:{...d,'awaiting_reaction':!0x1}}};}function W(a,c){return{...a,'cursor_ts':c};}function Vt(a){const cQ=a0bP;let c=a[cQ(0x1eb)],d=Object[cQ(0x260)](a['monsters'])[cQ(0x18c)]((o,p)=>{const cR=cQ;let u=p[cR(0x1bb)];return u===void 0x0?o:o===null||u>o?u:o;},null),f=Object[cQ(0x1f9)](a['monsters'])[cQ(0x1c5)](([,i])=>i[cQ(0x25f)]||i[cQ(0x1ae)]||d!==null&&i[cQ(0x1bb)]!==void 0x0&&i[cQ(0x1bb)]<d||c===null||i[cQ(0x221)]!==void 0x0&&i['last_gone_recorded_event_ts']>c?!0x0:i[cQ(0x1b1)]>c);return f[cQ(0x1d6)]((i,o)=>i[0x1][cQ(0x1b1)]<o[0x1][cQ(0x1b1)]?0x1:-0x1),{...a,'monsters':Object[cQ(0x276)](f['slice'](0x0,Ce))};}function Xe(c,d){const cS=a0bP;let f=new Map(),o=[];for(let p of c){let u=d[cS(0x1ec)](p[cS(0x1fe)]);if(!u[cS(0x1e1)]){o[cS(0x1a6)](p);continue;}let y=f['get'](u[cS(0x1e1)])??{'session':u[cS(0x1e1)],'items':[]};y['items']['push']({'event':p,'target':u}),f[cS(0x1a9)](u[cS(0x1e1)],y);}return{'groups':[...f[cS(0x260)]()],'unassigned':o};}function We(a,c){const cT=a0bP;if(P(a)){if(cT(0x217)!=='hgujY')d[cT(0x292)](c);else{let i=b(a);return c(cT(0x225)+i[cT(0x155)](cT(0x1db))+cT(0x1a8)+JSON['stringify'](a)),!0x1;}}let d=Et(a);return d['ok']?!0x0:(c(cT(0x1ee)+d[cT(0x18f)]+'\x20/\x20文面='+JSON[cT(0x145)](a)),!0x1);}function qe(c,d){const cU=a0bP;let f=[],p=[],u=new Set();for(let y of c){if(u[cU(0x187)](y[cU(0x28e)][cU(0x1fe)]))continue;u[cU(0x166)](y[cU(0x28e)]['monsterId']);let N=d[y[cU(0x28e)][cU(0x1fe)]]?.['last_gone_recorded_event_ts'],O=N===void 0x0?NaN:Date['parse'](N);if(Number[cU(0x1d0)](O)&&y[cU(0x28e)]['tsMs']<=O){if(cU(0x267)===cU(0x1cb))return new d('SUPERVISOR_STATE_UNREADABLE:\x20'+f+cU(0x186)+N+')');else{p[cU(0x1a6)]({'monsterId':y['event']['monsterId'],'shortId':y['target'][cU(0x23d)],'recordedTs':N});continue;}}f['push'](y);}return{'record':f,'skipped':p};}async function Ze(c,d,f){const cV=a0bP;let {record:o,skipped:p}=qe(c[cV(0x253)],f['monsters']),u=f;for(let y of o)await d['recordSupervisorGone'](y[cV(0x28e)],y[cV(0x16d)]),u=Ut(u,y[cV(0x28e)][cV(0x1fe)],y['event']['ts']);return{'state':u,'suppressed':p['length']};}function Qe(c,d,f){const cW=a0bP;let u=new Map(),y=new Map(),N=new Set();for(let {event:O,target:S}of c){if(N[cW(0x187)](O[cW(0x1fe)]))continue;N[cW(0x166)](O[cW(0x1fe)]);let T=a0=>{const cX=cW;y[cX(0x1a9)](O['monsterId'],{'monsterId':O[cX(0x1fe)],'shortId':S[cX(0x23d)],'reason':a0});};if(f[O['monsterId']]?.[cW(0x1ae)]===d){T(cW(0x211));continue;}if(S[cW(0x243)]['length']===0x0){T(cW(0x193));continue;}if(S[cW(0x243)]===d){T(cW(0x1cd));continue;}u[cW(0x1a9)](O[cW(0x1fe)],{'monsterId':O['monsterId'],'shortId':S[cW(0x23d)],'tmuxSession':S[cW(0x243)],'supervisorSession':d,'eventTs':O['ts']});}return{'targets':[...u[cW(0x260)]()],'skipped':[...y['values']()]};}function tn(a,c){const cY=a0bP;let d=It(a);return d['ok']?!0x0:(c(cY(0x200)+d[cY(0x18f)]+cY(0x172)+JSON[cY(0x145)](a)),!0x1);}async function en(d,f,u,y){const cZ=a0bP;let N={'state':u,'injected':0x0,'blocked':0x0,'failed':0x0,'failedMonsters':[]},{targets:O,skipped:S}=Qe(d[cZ(0x253)],d[cZ(0x214)],u[cZ(0x185)]);N[cZ(0x27d)]+=S[cZ(0x1f3)];for(let a0 of S){if(a0['reason']===cZ(0x211))continue;let a1=a0[cZ(0x18f)]===cZ(0x193)?cZ(0x241):cZ(0x204);f['log'](cZ(0x17b)+a0[cZ(0x23d)]+cZ(0x147)+d[cZ(0x214)]+'\x20—\x20'+a1);}for(let a2 of O){if(cZ(0x1e9)===cZ(0x1e9)){let a3=wt({'supervisorSession':d[cZ(0x214)],'subordinateSession':a2[cZ(0x243)],'detectedAt':y});if(a3===null){if(cZ(0x238)===cZ(0x238)){f[cZ(0x259)](cZ(0x278)+a2[cZ(0x23d)]+'\x20supervisor_session='+JSON[cZ(0x145)](d['session'])+cZ(0x273)+JSON[cZ(0x145)](a2[cZ(0x243)])+'(session\x20名が可変部の\x20allow-list\x20を通らないか、検知時刻が読めない)'),N[cZ(0x27d)]+=0x1;continue;}else{if(u(y)){let a8=a6(a7);return a8('🚨\x20注入中止:\x20授権を意味する語を含む('+a8[cZ(0x155)]('\x20/\x20')+')\x20/\x20文面='+a9['stringify'](aa)),!0x1;}let a7=a1(a2);return a7['ok']?!0x0:(a3(cZ(0x1ee)+a7['reason']+'\x20/\x20文面='+a4[cZ(0x145)](a5)),!0x1);}}if(!tn(a3,f[cZ(0x259)])){if(cZ(0x196)==='MMghv'){N[cZ(0x27d)]+=0x1;continue;}else{let a8=[];for(let a9 of a3){let aa=y(a9);aa&&a8[cZ(0x1a6)](aa);}return a8[cZ(0x1f3)]===0x0?null:''+u+a8[cZ(0x155)]('\u3001')+a2;}}let a4;try{a4=await f[cZ(0x218)](a2[cZ(0x243)]);}catch(a8){if('VChiJ'===cZ(0x199))return{'ok':!0x0,'state':d(f)};else{f['log'](cZ(0x1dd)+a2['tmuxSession']+'\x20monster='+a2[cZ(0x23d)]+cZ(0x1e2)+String(a8)),N[cZ(0x16a)]+=0x1,N[cZ(0x1dc)]['push'](a2['monsterId']);continue;}}if(!a4){f[cZ(0x259)]('逆向き注入見送り:\x20配下\x20session='+a2[cZ(0x243)]+cZ(0x192)+a2[cZ(0x23d)]+cZ(0x1c7)),N[cZ(0x27d)]+=0x1;continue;}let a5=await f['inject'](a2[cZ(0x243)],a3);if(!a5['ok']){f[cZ(0x259)]('逆向き注入失敗(次\x20tick\x20で再試行):\x20session='+a2[cZ(0x243)]+cZ(0x25e)+a2[cZ(0x23d)]+'\x20'+(a5['error']??'')),N['failed']+=0x1,N['failedMonsters'][cZ(0x1a6)](a2['monsterId']);continue;}N[cZ(0x1f2)]=Ht(N[cZ(0x1f2)],a2[cZ(0x1fe)],a2[cZ(0x1e1)],a2['eventTs']),N[cZ(0x209)]+=0x1,f[cZ(0x259)](cZ(0x1e3)+d[cZ(0x214)]+'\x20の不在を配下\x20monster='+a2['shortId']+cZ(0x15f)+a2[cZ(0x243)]+cZ(0x15e)+JSON['stringify'](a3));}else f=f[cZ(0x14a)](S,'r');}return N;}var Gt=a0bP(0x21a),nn=/^(?:\S+ )?(?:🚨 )?未配線監査\((\d{4}-\d{2}-\d{2})\)/;function sn(a){const d0=a0bP;return a[d0(0x1bf)]()[d0(0x1ac)](0x0,0xa);}function rn(a){const d1=a0bP;return a[d1(0x1c5)](c=>c['status']===d1(0x1e8)&&!c[d1(0x1e1)]&&!c[d1(0x1ff)])[d1(0x19b)](c=>({'shortId':c[d1(0x23d)],'spawnedAt':c[d1(0x1b7)]}));}function Yt(a){let c=null;for(let d of a){let f=d['match'](nn);f&&(c=f[0x1]);}return c;}function on(a,c){return a!==c;}function an(a,c){const d2=a0bP;if(a['length']===0x0)return Gt+'('+c+d2(0x20e);let d=a[d2(0x19b)](f=>f[d2(0x23d)]+d2(0x20b)+f['spawnedAt']+')')[d2(0x155)](d2(0x1db));return'🚨\x20'+Gt+'('+c+d2(0x1af)+a[d2(0x1f3)]+d2(0x1ad)+d+'\x20—\x20supervisor_session\x20未記録のため、この\x20monster\x20が止まっても誰にも通知されない(spawn\x20時に\x20supervisorSession\x20を渡すこと)';}function cn(a,c){const d3=a0bP;let d=sn(c);if(!on(a[d3(0x1d2)](),d))return 0x0;let f=rn(a[d3(0x142)]());return a['log'](an(f,d)),f[d3(0x1f3)];}function un(a,c){const d4=a0bP;return d4(0x1f4)+c[d4(0x23d)]+d4(0x24c)+a[d4(0x28e)]+'('+a['ts']+')\x20—\x20supervisor_session\x20未記録のため注入先が無く、この停止は誰にも通知されない(spawn\x20時に\x20supervisorSession\x20を渡すこと)';}function a0c(a,b){a=a-0x13f;const c=a0a();let d=c[a];if(a0c['QFJycM']===undefined){var e=function(i){const j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let l='',m='';for(let n=0x0,o,p,q=0x0;p=i['charAt'](q++);~p&&(o=n%0x4?o*0x40+p:p,n++%0x4)?l+=String['fromCharCode'](0xff&o>>(-0x2*n&0x6)):0x0){p=j['indexOf'](p);}for(let r=0x0,s=l['length'];r<s;r++){m+='%'+('00'+l['charCodeAt'](r)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(m);};a0c['TAwuSM']=e,a0c['FXTwHE']={},a0c['QFJycM']=!![];}const f=c[0x0],g=a+f,h=a0c['FXTwHE'][g];return!h?(d=a0c['TAwuSM'](d),a0c['FXTwHE'][g]=d):d=h,d;}async function fn(c,d){const d5=a0bP;let f=c[d5(0x253)]['map'](O=>O[d5(0x16d)][d5(0x23d)])[d5(0x155)](','),p;try{p=await d[d5(0x218)](c[d5(0x214)]);}catch(O){return d[d5(0x259)]('🚨\x20セッション実在を判定できません\x20session='+c[d5(0x214)]+d5(0x25e)+f+d5(0x24f)+String(O)),'skipped';}if(!p)return d['log'](d5(0x28a)+c['session']+d5(0x19e)+f+'\x20→\x20監督宛には送らない(配下への逆向き通知は別行に出る)'),d5(0x17d);if(await d[d5(0x14f)](c[d5(0x214)]))return d[d5(0x259)](d5(0x13f)+c[d5(0x214)]+'\x20が実行中\x20monster='+f+d5(0x207)),d5(0x20d);let u=c[d5(0x253)]['map'](S=>({'shortId':S[d5(0x16d)][d5(0x23d)],'event':S[d5(0x28e)]['event'],'ts':S[d5(0x28e)]['ts']})),y=Tt(u);if(y===null)return d[d5(0x259)](d5(0x27b)+f),'skipped';if(!We(y,d[d5(0x259)]))return d5(0x1a5);let N=await d[d5(0x24b)](c[d5(0x214)],y);return N['ok']?(d[d5(0x259)](d5(0x21c)+c[d5(0x214)]+d5(0x25e)+f+d5(0x212)+JSON['stringify'](y)),d5(0x141)):(d[d5(0x259)](d5(0x20f)+c[d5(0x214)]+'\x20'+(N['error']??'')),d5(0x16a));}function ln(a,c,d){const d6=a0bP;let f=c[d6(0x1f3)]>0x0?c[c[d6(0x1f3)]-0x1]['ts']:new Date()[d6(0x1bf)]();return d[d6(0x259)](d6(0x190)+f+d6(0x24e)),{'state':W(a,f),'initialized':!0x0,'injected':0x0,'skippedBusy':0x0,'gone':0x0,'unassigned':0x0,'unwired':0x0,'failed':0x0,'suppressed':0x0,'reacted':0x0,'blocked':0x0,'reverseInjected':0x0,'reverseBlocked':0x0,'reverseFailed':0x0,'goneRecordSuppressed':0x0};}function pn(a){const d7=a0bP;return a[d7(0x209)]+a[d7(0x203)]+a[d7(0x17d)]+a['unassigned']+a['failed']+a[d7(0x19d)]+a['reacted']+a['blocked'];}function Jt(a){const d8=a0bP;let c=a[d8(0x1c3)]>0x0||a[d8(0x1ca)]>0x0;if(!a[d8(0x1bc)]&&pn(a)===0x0&&!c)return null;let d=d8(0x19f)+a[d8(0x209)]+d8(0x250)+a['skippedBusy']+'\x20supervisor_gone='+a['gone']+d8(0x220)+a[d8(0x1c3)]+'\x20不達='+a['failed']+'\x20抑止='+a[d8(0x19d)]+d8(0x180)+a[d8(0x1e7)]+d8(0x1c6)+a[d8(0x27d)]+'\x20未配線='+a[d8(0x1ca)]+d8(0x1ce)+a[d8(0x1d4)]+d8(0x16c)+a[d8(0x1e6)]+d8(0x261)+a[d8(0x242)]+d8(0x1fd)+a[d8(0x230)];return c?d+d8(0x1b8)+a[d8(0x1c3)]+d8(0x15b)+a['unwired']+'\x20体)\x20—\x20監視網に穴が開いている':d;}function dn(a,c){const d9=a0bP;let d=a[d9(0x18f)]==='awaiting_reaction'?d9(0x140):d9(0x157);return d9(0x263)+c+d9(0x25c)+a[d9(0x1b0)]+d9(0x18b)+a[d9(0x182)]+'\x20'+a['latestTs']+')—\x20'+d;}async function zt(a0,a1){const da=a0bP;let a2=new Date(),a3=cn(a1,a2),a4=a1[da(0x17f)]();if(a0['cursor_ts']===null)return{...ln(a0,a4,a1),'unwired':a3};let a5=Date[da(0x14d)](a0[da(0x1eb)]),a6=At(a4,{'cursorMs':Number[da(0x1d0)](a5)?a5:null,'entries':a0['monsters']}),a7=a0;for(let ad of a6[da(0x1e7)])a7=Bt(a7,ad),a1[da(0x259)](da(0x1a4)+a1[da(0x1ec)](ad)[da(0x23d)]+da(0x247));let {groups:a8,unassigned:a9}=Xe(a6[da(0x1d3)],a1),aa=new Set(),ab={'injected':0x0,'skippedBusy':0x0,'gone':0x0,'failed':0x0,'blocked':0x0,'reverseInjected':0x0,'reverseBlocked':0x0,'reverseFailed':0x0,'goneRecordSuppressed':0x0};for(let af of a8){let ag=await fn(af,a1);if(ag===da(0x141)){if(da(0x1de)!==da(0x1de)){let ai=a2[da(0x1c3)]>0x0||a3[da(0x1ca)]>0x0;if(!a4[da(0x1bc)]&&a5(a6)===0x0&&!ai)return null;let aj='tick\x20完了:\x20注入='+a7[da(0x209)]+'\x20busy待ち='+a8[da(0x203)]+'\x20supervisor_gone='+a9[da(0x17d)]+da(0x220)+aa['unassigned']+'\x20不達='+ab[da(0x16a)]+da(0x252)+ac['suppressed']+da(0x180)+ad[da(0x1e7)]+da(0x1c6)+af[da(0x27d)]+da(0x188)+ag[da(0x1ca)]+da(0x1ce)+ah[da(0x1d4)]+da(0x16c)+ai[da(0x1e6)]+da(0x261)+aj['reverseFailed']+da(0x1fd)+ak[da(0x230)];return ai?aj+da(0x1b8)+al[da(0x1c3)]+da(0x15b)+am['unwired']+da(0x17e):aj;}else{ab['injected']+=af[da(0x253)][da(0x1f3)];for(let ai of af[da(0x253)])a7=Ct(a7,ai[da(0x28e)][da(0x1fe)],ai[da(0x28e)]['ts']);continue;}}if(ag==='busy'){ab[da(0x203)]+=af[da(0x253)][da(0x1f3)];for(let aj of af[da(0x253)])aa[da(0x166)](aj[da(0x28e)][da(0x1fe)]);}else{if(ag==='gone'){ab[da(0x17d)]+=af[da(0x253)]['length'];let ak=await Ze(af,a1,a7);a7=ak[da(0x1f2)],ab[da(0x230)]+=ak[da(0x19d)];let al=await en(af,a1,a7,a2['toISOString']());a7=al[da(0x1f2)],ab['reverseInjected']+=al[da(0x209)],ab[da(0x1e6)]+=al[da(0x27d)],ab[da(0x242)]+=al[da(0x16a)];for(let am of al['failedMonsters'])aa[da(0x166)](am);}else{if(ag===da(0x16a)){if('KoOZf'!==da(0x1b4)){ab[da(0x16a)]+=af['items'][da(0x1f3)];for(let ao of af[da(0x253)])aa[da(0x166)](ao[da(0x28e)][da(0x1fe)]);}else{let aq=o(p[da(0x23d)]),ar=r(s['ts']);return!aq||!ar||!a0(af[da(0x28e)])?null:da(0x222)+aq+'\x20が\x20'+y[da(0x28e)]+'('+ar+')';}}else ag===da(0x1a5)&&(ab[da(0x27d)]+=af[da(0x253)]['length']);}}}if(a6['maxScannedMs']!==null){if('msbKc'===da(0x1da))return c?.[da(0x153)]===da(0x16b);else{let ar=new Date(a6['maxScannedMs'])[da(0x1bf)]();for(let av of a6[da(0x19d)])aa['has'](av[da(0x1fe)])||a1['log'](dn(av,a1[da(0x1ec)](av[da(0x1fe)])[da(0x23d)]));for(let aw of a9)aa[da(0x187)](aw[da(0x1fe)])||a1[da(0x259)](un(aw,a1['readTarget'](aw['monsterId'])));let as=new Set([...a6['notify'][da(0x19b)](ax=>ax[da(0x1fe)]),...a6['suppressed'][da(0x19b)](ax=>ax[da(0x1fe)]),...a6[da(0x1e7)],...a9[da(0x19b)](ax=>ax['monsterId'])]);for(let ax of as)aa[da(0x187)](ax)||(a7=X(a7,ax,ar));for(let ay of aa){let az=K(a7[da(0x185)][ay],a0[da(0x1eb)]);az!==null&&(a7=X(a7,ay,az));}let au=[...aa][da(0x19b)](aA=>K(a7[da(0x185)][aA],a0[da(0x1eb)]))[da(0x1c5)](aA=>aA!==null)[da(0x18c)]((aA,aB)=>aB<aA?aB:aA,ar);a7=W(a7,a0[da(0x1eb)]!==null&&au<a0[da(0x1eb)]?a0[da(0x1eb)]:au);}}let ac=a6[da(0x19d)][da(0x18c)]((aA,aB)=>aa[da(0x187)](aB[da(0x1fe)])?aA:aA+aB[da(0x1b0)],0x0);return{'state':Vt(a7),'initialized':!0x1,'injected':ab['injected'],'skippedBusy':ab[da(0x203)],'gone':ab[da(0x17d)],'unassigned':a9[da(0x1f3)],'unwired':a3,'failed':ab[da(0x16a)],'suppressed':ac,'reacted':a6[da(0x1e7)][da(0x1f3)],'blocked':ab[da(0x27d)],'reverseInjected':ab[da(0x1d4)],'reverseBlocked':ab['reverseBlocked'],'reverseFailed':ab[da(0x242)],'goneRecordSuppressed':ab[da(0x230)]};}var mn=0x200*0x400;function Kt(c){const db=a0bP;let d;try{d=a0bG['openSync'](c,'r');}catch{return db(0x168)===db(0x168)?[]:d!==e;}try{let i=a0bG[db(0x21e)](d)['size'],o=Math[db(0x26d)](i,mn),p=Buffer[db(0x17c)](o);a0bG[db(0x21b)](d,p,0x0,o,i-o);let u=p[db(0x262)]('utf8')[db(0x1f7)]('\x0a');return o<i?u[db(0x1ac)](0x1):u;}catch{if(db(0x244)===db(0x229)){let N=p(r[db(0x185)][s],c['cursor_ts']);N!==null&&(u=y(N,O,N));}else return[];}finally{a0bG[db(0x292)](d);}}function _n(){const dc=a0bP;return[v,k][dc(0x248)](a=>Rt(Kt(a)))['sort']((a,c)=>a[dc(0x232)]-c[dc(0x232)]);}function q(){const dd=a0bP;try{return JSON[dd(0x14d)](a0bG[dd(0x1e5)](tt,dd(0x184)))[dd(0x185)]??{};}catch{return{};}}function Xt(a,c){const df=a0bP;return{'shortId':typeof c?.[df(0x161)]==df(0x272)&&c[df(0x161)][df(0x1f3)]>0x0?c[df(0x161)]:a[df(0x1ac)](0x0,0x8),'supervisorSession':typeof c?.[df(0x269)]==df(0x272)&&c[df(0x269)][df(0x1f3)]>0x0?c[df(0x269)]:null,'tmuxSession':typeof c?.[df(0x191)]==df(0x272)?c[df(0x191)]:'','status':typeof c?.[df(0x1c0)]=='string'?c[df(0x1c0)]:'','unsupervised':c?.[df(0x1ff)]===!0x0,'spawnedAt':typeof c?.[df(0x205)]==df(0x272)?c[df(0x205)]:''};}function Sn(a=q()){return c=>{let {shortId:d,supervisorSession:f,tmuxSession:i}=Xt(c,a[c]);return{'shortId':d,'supervisorSession':f,'tmuxSession':i};};}function hn(a=q()){const dg=a0bP;return Object[dg(0x1f9)](a)[dg(0x19b)](([c,d])=>{let {shortId:f,supervisorSession:p,status:u,unsupervised:y,spawnedAt:N}=Xt(c,d);return{'shortId':f,'supervisorSession':p,'status':u,'unsupervised':y,'spawnedAt':N};});}function gn(){return Yt(Kt($));}async function Tn(a,c){const dh=a0bP;await ct(ut(a[dh(0x1fe)],c['tmuxSession'],dh(0x240),{'supervisor_session':c[dh(0x1e1)],'trigger_event':a[dh(0x28e)],'trigger_ts':a['ts']}));}function Wt(a){let c=q();return{'readEvents':_n,'readTarget':Sn(c),'readLedger':()=>hn(c),'lastUnwiredAuditDay':gn,'sessionExists':B,'sessionBusy':pt,'inject':async(d,f)=>{const di=a0c;if(di(0x16f)===di(0x235)){let o=e(f);o&&i[di(0x1a6)](o);}else{let o=await mt(d,f);return{'ok':o['ok'],'error':o[di(0x15c)]};}},'recordSupervisorGone':Tn,'log':a};}function Z(a){const dj=a0bP;process[dj(0x164)][dj(0x268)](new Date()[dj(0x1bf)]()+'\x20'+a+'\x0a'),at(a);}async function En(){const dk=a0bP;let a=await Pt(),c=await zt(a,Wt(Z));await Dt(c[dk(0x1f2)],a);let d=Jt(c);d!==null&&Z(d);}En()[a0bP(0x146)](a=>{const dl=a0bP;Z(dl(0x150)+(a instanceof Error?a['message']:String(a))),process[dl(0x277)](0x1);});
|
package/manifest.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"mcpId": "monster-orchestrator",
|
|
3
3
|
"name": "Monster Orchestrator",
|
|
4
|
-
"version": "3.
|
|
5
|
-
"description": "Claude Code CLI を独立サブプロセス(tmux session)として起動・送信・監視・停止する。v2.0.0 から ready signal polling / spawn_timeout / events.log NDJSON + ローテーション / Claude Code 5種 hook 注入 / 60秒ごとの session.log スナップショットに対応。v2.1 から spawn / stop / list は BlueLamp 認証(X-CLI-Token)必須で、皆伝(tenant_rank>=4)以上が利用可能。同時稼働数の上限値はここに書かない(実装更新で腐るため)——拒否する上限はサーバ側 quota が、ローカルの暴走 spawn backstop は `MONSTER_MAX_CONCURRENT`(正本は `resolveMaxConcurrent()`)が正本で、この 2 つは別物。v2.3 から agent 別の events 確認カーソル(state.json.cursors)と mark_events_seen tool を追加し、未確認 awaiting_input / stopped を能動把握できる(推奨運用: get_monster_events に agent_id を渡し、取得後 max_event_ts を mark_events_seen で記録)。v2.4.0 から backend を mikoto-company-api に完全移管(Phase 53C)。受講生 PC は BLUELAMP_CLI_TOKEN → bluelampportal /api/auth/exchange → RS256 JWT → mikoto-company-api /api/monster/* の 2 段構えで認証。主エージェントが複数 monster を並列制御する汎用オーケストレータ。v3.3.0 から memory governor(艦隊の赤信号ブレーキ)を同梱: 常駐 tick(scripts/governor-tick.sh・30 秒)が機体のメモリ圧力を ~/.claude/monsters/governor.json に書き、critical(red)のときだけ spawn_monster が `MEMORY_CRITICAL` で拒否し、scripts/governor-wait.sh が重い検査の開始を待つ。走行中は触らない。計器が無い/古いときは fail-open で従来どおり動き、その事実を footer / governor_notice に出す。設置は docs/governor-launchd.md。",
|
|
4
|
+
"version": "3.4.0",
|
|
5
|
+
"description": "Claude Code CLI を独立サブプロセス(tmux session)として起動・送信・監視・停止する。v2.0.0 から ready signal polling / spawn_timeout / events.log NDJSON + ローテーション / Claude Code 5種 hook 注入 / 60秒ごとの session.log スナップショットに対応。v2.1 から spawn / stop / list は BlueLamp 認証(X-CLI-Token)必須で、皆伝(tenant_rank>=4)以上が利用可能。同時稼働数の上限値はここに書かない(実装更新で腐るため)——拒否する上限はサーバ側 quota が、ローカルの暴走 spawn backstop は `MONSTER_MAX_CONCURRENT`(正本は `resolveMaxConcurrent()`)が正本で、この 2 つは別物。v2.3 から agent 別の events 確認カーソル(state.json.cursors)と mark_events_seen tool を追加し、未確認 awaiting_input / stopped を能動把握できる(推奨運用: get_monster_events に agent_id を渡し、取得後 max_event_ts を mark_events_seen で記録)。v2.4.0 から backend を mikoto-company-api に完全移管(Phase 53C)。受講生 PC は BLUELAMP_CLI_TOKEN → bluelampportal /api/auth/exchange → RS256 JWT → mikoto-company-api /api/monster/* の 2 段構えで認証。主エージェントが複数 monster を並列制御する汎用オーケストレータ。v3.3.0 から memory governor(艦隊の赤信号ブレーキ)を同梱: 常駐 tick(scripts/governor-tick.sh・30 秒)が機体のメモリ圧力を ~/.claude/monsters/governor.json に書き、critical(red)のときだけ spawn_monster が `MEMORY_CRITICAL` で拒否し、scripts/governor-wait.sh が重い検査の開始を待つ。走行中は触らない。計器が無い/古いときは fail-open で従来どおり動き、その事実を footer / governor_notice に出す。設置は docs/governor-launchd.md。v3.4.0 から席の生死を「席の実在」でなく機能で実測する assess_liveness(直近活動・ロール読込・巡回 cron の 3 点すべて真で alive・tmux を見ない)と spawn 直後の着任確認 await_onboarding、4 値ログ ~/.claude/monsters/selfheal.log を追加(板 #608・夜間自己修復便の誤検知対策)。",
|
|
6
6
|
"category": "automation",
|
|
7
7
|
"tier": 2,
|
|
8
8
|
"tenantSlug": "yamatovision",
|
|
@@ -71,6 +71,14 @@
|
|
|
71
71
|
{
|
|
72
72
|
"name": "mark_events_seen",
|
|
73
73
|
"description": "agent ごとの events 確認カーソルを更新する(state.json.cursors[agent_id] = ts)。get_monster_events で取得した max_event_ts を渡すことで、次回呼び出しが「未確認イベントのみ」を返す。Stop hook (~/.claude/hooks/check-monster-events.sh) と協調し重複報告を防止。agent_id は呼び出し元 agent が自由に命名(例: tech-lead-main / tech-lead-mikoto-kaiden-XX)。"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"name": "assess_liveness",
|
|
77
|
+
"description": "席の生死を「席の実在」でなく機能で実測する(板 #608)。tmux は見ない。① 直近活動(events.log 最終 ts と transcript mtime の新しい方が activity_window_min(既定 30 分)以内)② ロール読込(transcript に load_knowledge の成功結果が 1 件以上・Prompt not found / ❌ は失敗)③ 巡回 cron(assistant tool_use の CronCreate(recurring が false でないもの=省略も登録)件数 > CronDelete 件数)の 3 点すべて真で alive・1 つでも偽なら dead で理由を全部 reasons に列挙する。transcript 0 本は ②③ とも偽(fail-closed)。副作用は selfheal.log への 1 行だけ(stop / spawn はしない)。"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"name": "await_onboarding",
|
|
81
|
+
"description": "spawn 直後の席がロールを読めたか(着任)を transcript の poll で実測する(板 #608)。load_knowledge の結果が出た時点で即返す: 成功 → onboarded=true(keyword / ts)/失敗 → reason=role_load_failed(detail)/何も出ないまま timeout_sec(既定 120・上限 300)→ reason=timeout。既に成功済みなら即返す(冪等・短い timeout_sec で呼び直す運用でよい)。tmux は見ない。副作用は selfheal.log への 1 行(spawned(successor=…) / spawn_failed(…))だけで、再 spawn・障害メモは呼び出し側の責務。"
|
|
74
82
|
}
|
|
75
83
|
]
|
|
76
84
|
}
|