Rebrand NanoClaw to EJClaw
This commit is contained in:
4
runners/agent-runner/package-lock.json
generated
4
runners/agent-runner/package-lock.json
generated
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"name": "nanoclaw-agent-runner",
|
||||
"name": "ejclaw-agent-runner",
|
||||
"version": "1.0.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "nanoclaw-agent-runner",
|
||||
"name": "ejclaw-agent-runner",
|
||||
"version": "1.0.0",
|
||||
"dependencies": {
|
||||
"@anthropic-ai/claude-agent-sdk": "^0.2.76",
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"name": "nanoclaw-agent-runner",
|
||||
"name": "ejclaw-agent-runner",
|
||||
"version": "1.0.0",
|
||||
"type": "module",
|
||||
"description": "Container-side agent runner for NanoClaw",
|
||||
"description": "Container-side agent runner for EJClaw",
|
||||
"main": "dist/index.js",
|
||||
"scripts": {
|
||||
"build": "tsc",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/**
|
||||
* NanoClaw Agent Runner
|
||||
* EJClaw Agent Runner
|
||||
* Runs inside a container, receives config via stdin, outputs result to stdout
|
||||
*
|
||||
* Input protocol:
|
||||
@@ -60,11 +60,19 @@ interface SDKUserMessage {
|
||||
}
|
||||
|
||||
// Paths configurable via env vars (defaults to container paths for backwards compat)
|
||||
const GROUP_DIR = process.env.NANOCLAW_GROUP_DIR || '/workspace/group';
|
||||
const IPC_DIR = process.env.NANOCLAW_IPC_DIR || '/workspace/ipc';
|
||||
const EXTRA_BASE = process.env.NANOCLAW_EXTRA_DIR || '/workspace/extra';
|
||||
const GROUP_DIR =
|
||||
process.env.EJCLAW_GROUP_DIR ||
|
||||
process.env.NANOCLAW_GROUP_DIR ||
|
||||
'/workspace/group';
|
||||
const IPC_DIR =
|
||||
process.env.EJCLAW_IPC_DIR || process.env.NANOCLAW_IPC_DIR || '/workspace/ipc';
|
||||
const EXTRA_BASE =
|
||||
process.env.EJCLAW_EXTRA_DIR ||
|
||||
process.env.NANOCLAW_EXTRA_DIR ||
|
||||
'/workspace/extra';
|
||||
// Optional: override cwd (agent works in this directory instead of GROUP_DIR)
|
||||
const WORK_DIR = process.env.NANOCLAW_WORK_DIR || '';
|
||||
const WORK_DIR =
|
||||
process.env.EJCLAW_WORK_DIR || process.env.NANOCLAW_WORK_DIR || '';
|
||||
|
||||
const IPC_INPUT_DIR = path.join(IPC_DIR, 'input');
|
||||
const MAX_TURNS = 100;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/**
|
||||
* Stdio MCP Server for NanoClaw
|
||||
* Stdio MCP Server for EJClaw
|
||||
* Standalone process that agent teams subagents can inherit.
|
||||
* Reads context from environment variables, writes IPC files for the host.
|
||||
*/
|
||||
@@ -11,14 +11,17 @@ import fs from 'fs';
|
||||
import path from 'path';
|
||||
import { CronExpressionParser } from 'cron-parser';
|
||||
|
||||
const IPC_DIR = process.env.NANOCLAW_IPC_DIR || '/workspace/ipc';
|
||||
const IPC_DIR =
|
||||
process.env.EJCLAW_IPC_DIR || process.env.NANOCLAW_IPC_DIR || '/workspace/ipc';
|
||||
const MESSAGES_DIR = path.join(IPC_DIR, 'messages');
|
||||
const TASKS_DIR = path.join(IPC_DIR, 'tasks');
|
||||
|
||||
// Context from environment variables (set by the agent runner)
|
||||
const chatJid = process.env.NANOCLAW_CHAT_JID!;
|
||||
const groupFolder = process.env.NANOCLAW_GROUP_FOLDER!;
|
||||
const isMain = process.env.NANOCLAW_IS_MAIN === '1';
|
||||
const chatJid = process.env.EJCLAW_CHAT_JID || process.env.NANOCLAW_CHAT_JID!;
|
||||
const groupFolder =
|
||||
process.env.EJCLAW_GROUP_FOLDER || process.env.NANOCLAW_GROUP_FOLDER!;
|
||||
const isMain =
|
||||
(process.env.EJCLAW_IS_MAIN || process.env.NANOCLAW_IS_MAIN) === '1';
|
||||
|
||||
function writeIpcFile(dir: string, data: object): string {
|
||||
fs.mkdirSync(dir, { recursive: true });
|
||||
|
||||
4
runners/codex-runner/package-lock.json
generated
4
runners/codex-runner/package-lock.json
generated
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"name": "nanoclaw-codex-runner",
|
||||
"name": "ejclaw-codex-runner",
|
||||
"version": "1.0.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "nanoclaw-codex-runner",
|
||||
"name": "ejclaw-codex-runner",
|
||||
"version": "1.0.0",
|
||||
"dependencies": {
|
||||
"@openai/codex-sdk": "^0.114.0"
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"name": "nanoclaw-codex-runner",
|
||||
"name": "ejclaw-codex-runner",
|
||||
"version": "1.0.0",
|
||||
"type": "module",
|
||||
"description": "Container-side Codex CLI runner for NanoClaw",
|
||||
"description": "Container-side Codex CLI runner for EJClaw",
|
||||
"main": "dist/index.js",
|
||||
"scripts": {
|
||||
"build": "tsc",
|
||||
|
||||
@@ -144,8 +144,8 @@ export class CodexAppServerClient {
|
||||
|
||||
await this.request('initialize', {
|
||||
clientInfo: {
|
||||
name: 'nanoclaw_codex_runner',
|
||||
title: 'NanoClaw Codex Runner',
|
||||
name: 'ejclaw_codex_runner',
|
||||
title: 'EJClaw Codex Runner',
|
||||
version: '1.0.0',
|
||||
},
|
||||
capabilities: {
|
||||
@@ -182,7 +182,7 @@ export class CodexAppServerClient {
|
||||
model: options.model,
|
||||
approvalPolicy: 'never',
|
||||
sandbox: 'danger-full-access',
|
||||
serviceName: 'nanoclaw',
|
||||
serviceName: 'ejclaw',
|
||||
};
|
||||
|
||||
const result = sessionId
|
||||
@@ -362,7 +362,7 @@ export class CodexAppServerClient {
|
||||
this.respondError(
|
||||
message.id,
|
||||
-32601,
|
||||
`NanoClaw does not handle server request ${message.method}`,
|
||||
`EJClaw does not handle server request ${message.method}`,
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
/**
|
||||
* NanoClaw Codex Runner
|
||||
* EJClaw Codex Runner
|
||||
*
|
||||
* Default runtime is Codex app-server, with SDK fallback available via
|
||||
* CODEX_RUNTIME=sdk or automatic fallback when app-server startup fails.
|
||||
*
|
||||
* Input protocol:
|
||||
* Stdin: Full ContainerInput JSON (read until EOF)
|
||||
* IPC: Follow-up messages as JSON files in $NANOCLAW_IPC_DIR/input/
|
||||
* IPC: Follow-up messages as JSON files in $EJCLAW_IPC_DIR/input/
|
||||
* Sentinel: _close — signals session end
|
||||
*
|
||||
* Stdout protocol:
|
||||
@@ -45,9 +45,14 @@ interface ContainerOutput {
|
||||
|
||||
// ── Constants ──────────────────────────────────────────────────────
|
||||
|
||||
const GROUP_DIR = process.env.NANOCLAW_GROUP_DIR || '/workspace/group';
|
||||
const IPC_DIR = process.env.NANOCLAW_IPC_DIR || '/workspace/ipc';
|
||||
const WORK_DIR = process.env.NANOCLAW_WORK_DIR || '';
|
||||
const GROUP_DIR =
|
||||
process.env.EJCLAW_GROUP_DIR ||
|
||||
process.env.NANOCLAW_GROUP_DIR ||
|
||||
'/workspace/group';
|
||||
const IPC_DIR =
|
||||
process.env.EJCLAW_IPC_DIR || process.env.NANOCLAW_IPC_DIR || '/workspace/ipc';
|
||||
const WORK_DIR =
|
||||
process.env.EJCLAW_WORK_DIR || process.env.NANOCLAW_WORK_DIR || '';
|
||||
const IPC_INPUT_DIR = path.join(IPC_DIR, 'input');
|
||||
const IPC_INPUT_CLOSE_SENTINEL = path.join(IPC_INPUT_DIR, '_close');
|
||||
const IPC_POLL_MS = 500;
|
||||
|
||||
Reference in New Issue
Block a user