Files
hakorune/tools/codex-tmux-driver/greet-codex-8770.js
Moe Charm 4e1b595796 AI協調開発研究ドキュメントの完成と Phase 10.9-β 進捗
【AI協調開発研究】
- AI二重化モデルの学術論文draft完成(workshop_paper_draft.md)
- 「隠れた危機」分析とbirthの原則哲学化
- TyEnv「唯一の真実」協調会話を保存・研究資料に統合
- papers管理構造の整備(wip/under-review/published分離)

【Phase 10.9-β HostCall進捗】
- JitConfigBox: relax_numeric フラグ追加(i64→f64コアーション制御)
- HostcallRegistryBox: 署名検証・白黒リスト・コアーション対応
- JitHostcallRegistryBox: Nyash側レジストリ操作API
- Lower統合: env直読 → jit::config::current() 参照に統一
- 数値緩和設定: NYASH_JIT_HOSTCALL_RELAX_NUMERIC/Config.set_flag

【検証サンプル拡充】
- math.sin/cos/abs/min/max 関数スタイル(examples/jit_math_function_style_*.nyash)
- 境界ケース: 署名不一致・コアーション許可・mutating拒否サンプル
- E2E実証: String.length→allow, Array.push→fallback, math関数の署名一致観測

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-28 12:09:09 +09:00

54 lines
1.4 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

const WebSocket = require('ws');
// 優先順: CODEX_HOOK_SERVER -> HOOK_SERVER_PORT -> 8770
function resolveControlUrl() {
const fromEnv = process.env.CODEX_HOOK_SERVER;
if (fromEnv) {
try {
const u = new URL(fromEnv);
// 制御チャネルは /control を使う
u.pathname = '/control';
return u.toString();
} catch {}
}
const port = process.env.HOOK_SERVER_PORT || '8770';
return `ws://localhost:${port}/control`;
}
const controlUrl = resolveControlUrl();
console.log(`🔌 Connecting to hook control: ${controlUrl}`);
const ws = new WebSocket(controlUrl);
ws.on('open', () => {
console.log('✅ Connected! Injecting greeting...');
// Codexへ入力を注入hook-serverのcontrol API
ws.send(JSON.stringify({
op: 'inject',
data: 'こんにちはCodexさんNyashプロジェクトから挨拶にゃ〜🐱 JITの調子はどうにゃ'
}));
// ついでにステータス確認
ws.send(JSON.stringify({ op: 'status' }));
});
ws.on('message', (data) => {
const msg = JSON.parse(data.toString());
console.log('📨 Received:', msg);
});
ws.on('error', (err) => {
console.error('❌ Error:', err.message);
});
ws.on('close', () => {
console.log('👋 Connection closed');
});
// 30秒後に終了
setTimeout(() => {
console.log('⏰ Timeout - closing connection');
try { ws.close(); } catch {}
process.exit(0);
}, 30000);