Repository navigation
Conversation
…gh service.wasm, retire the tg_* forwarders specs/t27mcp/service.t27 (gHashTag/t27#10484, issue #10483) decides which home owns a tool name, what the one registry admits and who sees the mounted t27 tools. It is built by the C route into wasm/service.wasm with its constants in wasm/service_table.mjs; service.mjs only writes a name into the instance's memory. - server.mjs keeps the tools local_serves() accepts (the t27_ and t27f_ names). The seven tg_* forwarders and telegram.mjs / telegram.wasm / telegram_table.mjs are gone: the same tools answer at TRI CLAW's /mcp. - server.mjs exports `tools` and `call(name, args)`, so TRI CLAW can mount the t27 tools into its /mcp. Imported as a library it starts no stdio loop, health port or watcher; run as a program it is unchanged. - package.json: version 1.2.0, `exports` for `.` and `./service`, files list updated. - README: the one-service section and the library imports; the VIBEE_AGENT_KEY and T27_TG_APP rows are gone. - wasm/BUILD: the service section with rebuild commands and hashes replaces the telegram section. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Summary by t27-beesThis PR migrates the server to a "one service with TRI CLAW" architecture: the new Worth a look
Read: 10 files, +148 -157, the whole diff. Head |
Step 2 of the one-service plan (gHashTag/t27#10483; the rule is
specs/t27mcp/service.t27, gHashTag/t27#10484).What changes
service.t27is built by the C route intowasm/service.wasm, with its constants inwasm/service_table.mjs.service.mjsonly writes a name into the instance's memory. It exports:admit,homeOf,localServesandt27Visible;CODER_TOOLS.server.mjskeeps only the toolslocal_serves()accepts, which are thet27_andt27f_names. The seventg_*forwarders,telegram.mjs,wasm/telegram.wasmandwasm/telegram_table.mjsare removed. The same Telegram tools already answer at TRI CLAW's/mcp, which holds the session.server.mjsexportstoolsandcall(name, args)so TRI CLAW can mount the t27 tools into its own/mcp(step 3, next PR in gHashTag/999-multibots-telegraf).package.jsonmoves to 1.2.0, withexportsfor.and./serviceand an updatedfileslist.VIBEE_AGENT_KEYandT27_TG_APProws are removed.Checked on the Railway lab (node 18.20.4, clone of this branch at db98153)
service.t27passes 9 of 9 tests with 0 vacuous; t27c 0.5.2, zig 0.16.0.service.wasme1807a3b…,service_table.mjse371cfea…, both matching wasm/BUILD.initializereports 1.2.0.tools/listreturns the 19 t27 tools and 0tg_*tools.t27_checkanswersok: true.tg_dialogsanswersUnknown tool.node --import ./server.mjs /dev/nullexits in 165 ms, and./service.mjsin 113 ms, both with stdin left open.node server.mjswith the same open stdin is still running when the 5 s timeout kills it.npm run smoke: all checks passed.Policy
This edits hand-written JavaScript (
server.mjs, the newservice.mjsglue), so it needs the owner'sowner-approved-foreignlabel. The logic lives inservice.t27; the JS only moves bytes.🤖 Generated with Claude Code