@triflux/remote 10.50.2 → 10.52.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/cto/brief.mjs +0 -20
- package/cto/collect.mjs +1 -200
- package/cto/current.schema.json +2 -23
- package/cto/hygiene.mjs +2 -61
- package/cto/lake-root.mjs +0 -56
- package/cto/status.mjs +5 -187
- package/hub/index.mjs +0 -17
- package/hub/team/agent-map.json +0 -1
- package/hub/team/agents-row-attach.py +120 -0
- package/hub/team/agents-row.mjs +200 -0
- package/hub/team/ansi.mjs +1 -35
- package/hub/team/backend.mjs +9 -145
- package/hub/team/claude-daemon-control.mjs +1 -2
- package/hub/team/claude-session-projection.mjs +5 -73
- package/hub/team/cli/commands/attach.mjs +1 -17
- package/hub/team/cli/commands/control.mjs +12 -38
- package/hub/team/cli/commands/debug.mjs +2 -39
- package/hub/team/cli/commands/focus.mjs +5 -31
- package/hub/team/cli/commands/interrupt.mjs +6 -25
- package/hub/team/cli/commands/kill.mjs +1 -30
- package/hub/team/cli/commands/list.mjs +0 -16
- package/hub/team/cli/commands/send.mjs +6 -26
- package/hub/team/cli/commands/start/index.mjs +42 -133
- package/hub/team/cli/commands/start/parse-args.mjs +15 -40
- package/hub/team/cli/commands/start/start-headless.mjs +138 -105
- package/hub/team/cli/commands/start/start-mux.mjs +2 -7
- package/hub/team/cli/commands/status.mjs +2 -57
- package/hub/team/cli/commands/stop.mjs +14 -19
- package/hub/team/cli/help.mjs +4 -5
- package/hub/team/cli/manifest.mjs +5 -1
- package/hub/team/cli/render.mjs +0 -12
- package/hub/team/cli/services/runtime-mode.mjs +27 -98
- package/hub/team/cli/services/state-store.mjs +5 -20
- package/hub/team/handoff.mjs +3 -34
- package/hub/team/headless.mjs +108 -1296
- package/hub/team/orchestrator.mjs +4 -30
- package/hub/team/pane.mjs +6 -28
- package/hub/team/psmux.mjs +3 -34
- package/hub/team/remote-session.mjs +1 -2
- package/hub/team/session-context.mjs +1 -1
- package/hub/team/session.mjs +7 -91
- package/hub/team/tui-core.mjs +1 -1
- package/hub/team/tui-viewer.mjs +11 -58
- package/hub/team/tui.mjs +8 -306
- package/hub/team/uds-orchestrator.mjs +2 -580
- package/hub/team/wt-manager.mjs +2 -2
- package/hub/workers/factory.mjs +6 -84
- package/hub/workers/interface.mjs +1 -7
- package/hub/workers/lib/jsonrpc-core.mjs +11 -0
- package/hub/workers/lib/jsonrpc-ws-uds.mjs +5 -8
- package/package.json +3 -8
- package/scripts/lib/agent-route-policy.mjs +143 -62
- package/scripts/lib/cli-claude.mjs +0 -14
- package/scripts/lib/env-probe.mjs +2 -131
- package/scripts/lib/gemini-profiles.mjs +2 -69
- package/scripts/lib/legacy-mcp-cleanup.mjs +283 -0
- package/scripts/lib/machine-profile.mjs +3 -17
- package/scripts/lib/mcp-filter.mjs +109 -53
- package/scripts/lib/mcp-guard-engine.mjs +40 -98
- package/scripts/lib/mcp-health.mjs +2 -2
- package/scripts/lib/mcp-server-catalog.mjs +2 -2
- package/scripts/lib/psmux-info.mjs +11 -59
- package/scripts/lib/skill-template.mjs +0 -245
- package/hub/hub-lifecycle.mjs +0 -248
- package/hub/pipe.mjs +0 -825
- package/hub/promote-penalties.mjs +0 -138
- package/hub/public/dashboard.html +0 -416
- package/hub/schema.sql +0 -209
- package/hub/server.mjs +0 -3048
- package/hub/store-adapter.mjs +0 -182
- package/hub/store.mjs +0 -1736
- package/hub/team/build-worker-prompt.mjs +0 -92
- package/hub/team/check-mcp-hub.mjs +0 -49
- package/hub/team/claude-native-bridge.mjs +0 -987
- package/hub/team/cli/commands/start/start-in-process.mjs +0 -50
- package/hub/team/cli/commands/start/start-wt.mjs +0 -86
- package/hub/team/cli/services/hub-client.mjs +0 -264
- package/hub/team/cli/services/native-control.mjs +0 -145
- package/hub/team/codex-review.mjs +0 -520
- package/hub/team/conductor-mesh-bridge.mjs +0 -122
- package/hub/team/conductor-registry.mjs +0 -121
- package/hub/team/conductor.mjs +0 -1529
- package/hub/team/consensus-meta.mjs +0 -176
- package/hub/team/cto-auto-collect.mjs +0 -115
- package/hub/team/cto-pull.mjs +0 -31
- package/hub/team/daemon-pty-tmux-bridge.mjs +0 -146
- package/hub/team/dashboard.mjs +0 -322
- package/hub/team/event-log.mjs +0 -84
- package/hub/team/execution-mode.mjs +0 -324
- package/hub/team/extract-completion-payload.mjs +0 -110
- package/hub/team/headless-bridge-session.mjs +0 -17
- package/hub/team/health-probe.mjs +0 -435
- package/hub/team/interactive-native-launcher.mjs +0 -119
- package/hub/team/interactive-native-worker.mjs +0 -80
- package/hub/team/interactive-tui-transport.mjs +0 -479
- package/hub/team/launcher-template.mjs +0 -144
- package/hub/team/lead-control.mjs +0 -191
- package/hub/team/mcp-selector.mjs +0 -145
- package/hub/team/native-supervisor.mjs +0 -460
- package/hub/team/native.mjs +0 -727
- package/hub/team/recovery-store.mjs +0 -149
- package/hub/team/remote-probe.mjs +0 -292
- package/hub/team/remote-watcher.mjs +0 -506
- package/hub/team/runtime-strategy.mjs +0 -200
- package/hub/team/schemas/worker-completion.json +0 -39
- package/hub/team/sentinel-capture.mjs +0 -127
- package/hub/team/session-sync.mjs +0 -316
- package/hub/team/swarm-cli.mjs +0 -390
- package/hub/team/swarm-hypervisor.mjs +0 -2206
- package/hub/team/swarm-intent.mjs +0 -216
- package/hub/team/swarm-locks.mjs +0 -335
- package/hub/team/swarm-planner.mjs +0 -371
- package/hub/team/swarm-preflight.mjs +0 -366
- package/hub/team/swarm-reconciler.mjs +0 -242
- package/hub/team/synapse-cli.mjs +0 -458
- package/hub/team/synapse-http.mjs +0 -311
- package/hub/team/synapse-registry.mjs +0 -618
- package/hub/team/tui-remote-adapter.mjs +0 -377
- package/hub/team/tui-synapse.mjs +0 -223
- package/hub/team/worker-completion-validator.mjs +0 -79
- package/hub/team/worker-sandbox.mjs +0 -125
- package/hub/team/worktree-lifecycle.mjs +0 -639
- package/hub/team/wt-templates.json +0 -43
- package/hub/tools.mjs +0 -900
- package/hub/workers/antigravity-route-worker.mjs +0 -179
- package/hub/workers/codex-app-server-worker.mjs +0 -1067
- package/hub/workers/delegator-mcp.mjs +0 -1098
- package/hub/workers/lib/jsonrpc-stdio.mjs +0 -204
- package/scripts/lib/claudemd-scanner.mjs +0 -223
- package/scripts/lib/context.mjs +0 -67
- package/scripts/lib/dynamic-route-cli.mjs +0 -107
- package/scripts/lib/handoff.mjs +0 -187
- package/scripts/lib/logger.mjs +0 -122
- package/scripts/lib/stealth-fetch.mjs +0 -176
|
@@ -1,179 +0,0 @@
|
|
|
1
|
-
// hub/workers/antigravity-route-worker.mjs — SDK-free Antigravity route worker
|
|
2
|
-
|
|
3
|
-
import { spawn } from "node:child_process";
|
|
4
|
-
import { existsSync } from "node:fs";
|
|
5
|
-
import { dirname, resolve } from "node:path";
|
|
6
|
-
import { fileURLToPath } from "node:url";
|
|
7
|
-
|
|
8
|
-
const SCRIPT_DIR = dirname(fileURLToPath(import.meta.url));
|
|
9
|
-
const DEFAULT_TIMEOUT_MS = 15 * 60 * 1000;
|
|
10
|
-
|
|
11
|
-
function resolveCandidatePath(candidate, cwd = process.cwd()) {
|
|
12
|
-
if (!candidate) return null;
|
|
13
|
-
const normalized = String(candidate).startsWith("/")
|
|
14
|
-
? String(candidate)
|
|
15
|
-
: resolve(cwd, String(candidate));
|
|
16
|
-
return existsSync(normalized) ? normalized : null;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
function resolveRouteScript(
|
|
20
|
-
explicitPath,
|
|
21
|
-
cwd = process.cwd(),
|
|
22
|
-
env = process.env,
|
|
23
|
-
) {
|
|
24
|
-
const candidates = [
|
|
25
|
-
explicitPath,
|
|
26
|
-
env.TFX_DELEGATOR_ROUTE_SCRIPT,
|
|
27
|
-
env.TFX_ROUTE_SCRIPT,
|
|
28
|
-
resolve(SCRIPT_DIR, "..", "..", "scripts", "tfx-route.sh"),
|
|
29
|
-
resolve(cwd, "scripts", "tfx-route.sh"),
|
|
30
|
-
];
|
|
31
|
-
|
|
32
|
-
for (const candidate of candidates) {
|
|
33
|
-
const resolved = resolveCandidatePath(candidate, cwd);
|
|
34
|
-
if (resolved) return resolved;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
return null;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
function parseRouteType(stderr = "") {
|
|
41
|
-
const match = String(stderr).match(/type=([a-z-]+)/);
|
|
42
|
-
if (!match) return "antigravity";
|
|
43
|
-
return match[1] === "gemini" ? "antigravity" : match[1];
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
function normalizeResult(result = {}) {
|
|
47
|
-
const output = result.output || result.error || "";
|
|
48
|
-
const exitCode = result.exitCode ?? (result.ok ? 0 : 1);
|
|
49
|
-
return {
|
|
50
|
-
response: output,
|
|
51
|
-
output,
|
|
52
|
-
exitCode,
|
|
53
|
-
stderr: result.stderr || "",
|
|
54
|
-
raw: result,
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
export class AntigravityRouteWorker {
|
|
59
|
-
type = "antigravity";
|
|
60
|
-
|
|
61
|
-
constructor(options = {}) {
|
|
62
|
-
this.cwd = options.cwd || process.cwd();
|
|
63
|
-
this.env = { ...process.env, ...(options.env || {}) };
|
|
64
|
-
this.routeScript = resolveRouteScript(
|
|
65
|
-
options.routeScript,
|
|
66
|
-
this.cwd,
|
|
67
|
-
this.env,
|
|
68
|
-
);
|
|
69
|
-
this.bashCommand = options.bashCommand || this.env.BASH_BIN || "bash";
|
|
70
|
-
this.timeoutMs =
|
|
71
|
-
Number.isFinite(Number(options.timeoutMs)) &&
|
|
72
|
-
Number(options.timeoutMs) > 0
|
|
73
|
-
? Number(options.timeoutMs)
|
|
74
|
-
: DEFAULT_TIMEOUT_MS;
|
|
75
|
-
this.children = new Set();
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
isReady() {
|
|
79
|
-
return Boolean(this.routeScript);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
async start() {}
|
|
83
|
-
|
|
84
|
-
async stop() {
|
|
85
|
-
for (const child of this.children) {
|
|
86
|
-
child.kill("SIGTERM");
|
|
87
|
-
}
|
|
88
|
-
this.children.clear();
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
async run(prompt, options = {}) {
|
|
92
|
-
if (!this.routeScript) {
|
|
93
|
-
return normalizeResult({
|
|
94
|
-
ok: false,
|
|
95
|
-
output: "tfx-route.sh 경로를 찾지 못했습니다.",
|
|
96
|
-
exitCode: 70,
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
const timeoutMs =
|
|
101
|
-
Number.isFinite(Number(options.timeoutMs)) &&
|
|
102
|
-
Number(options.timeoutMs) > 0
|
|
103
|
-
? Number(options.timeoutMs)
|
|
104
|
-
: this.timeoutMs;
|
|
105
|
-
const timeoutSec = Math.max(1, Math.ceil(timeoutMs / 1000));
|
|
106
|
-
const childArgs = [
|
|
107
|
-
this.routeScript,
|
|
108
|
-
options.agentType || "executor",
|
|
109
|
-
String(prompt ?? ""),
|
|
110
|
-
options.mcpProfile || "auto",
|
|
111
|
-
String(timeoutSec),
|
|
112
|
-
];
|
|
113
|
-
const childEnv = {
|
|
114
|
-
...this.env,
|
|
115
|
-
...(options.env || {}),
|
|
116
|
-
TFX_CLI_MODE: "antigravity",
|
|
117
|
-
};
|
|
118
|
-
|
|
119
|
-
const result = await new Promise((resolveResult) => {
|
|
120
|
-
const child = spawn(this.bashCommand, childArgs, {
|
|
121
|
-
cwd: options.cwd || this.cwd,
|
|
122
|
-
env: childEnv,
|
|
123
|
-
stdio: ["ignore", "pipe", "pipe"],
|
|
124
|
-
});
|
|
125
|
-
this.children.add(child);
|
|
126
|
-
|
|
127
|
-
let stdout = "";
|
|
128
|
-
let stderr = "";
|
|
129
|
-
const timeout = setTimeout(() => {
|
|
130
|
-
child.kill("SIGTERM");
|
|
131
|
-
}, timeoutMs);
|
|
132
|
-
timeout.unref?.();
|
|
133
|
-
|
|
134
|
-
child.stdout?.setEncoding("utf8");
|
|
135
|
-
child.stderr?.setEncoding("utf8");
|
|
136
|
-
child.stdout?.on("data", (chunk) => {
|
|
137
|
-
stdout += chunk;
|
|
138
|
-
});
|
|
139
|
-
child.stderr?.on("data", (chunk) => {
|
|
140
|
-
stderr += chunk;
|
|
141
|
-
});
|
|
142
|
-
child.on("close", (code, signal) => {
|
|
143
|
-
clearTimeout(timeout);
|
|
144
|
-
this.children.delete(child);
|
|
145
|
-
const timedOut = signal === "SIGTERM" && code === null;
|
|
146
|
-
resolveResult({
|
|
147
|
-
ok: code === 0,
|
|
148
|
-
output: stdout.trim() || stderr.trim(),
|
|
149
|
-
stderr: stderr.trim(),
|
|
150
|
-
exitCode: timedOut ? 124 : (code ?? 1),
|
|
151
|
-
providerResolved: parseRouteType(stderr),
|
|
152
|
-
});
|
|
153
|
-
});
|
|
154
|
-
child.on("error", (error) => {
|
|
155
|
-
clearTimeout(timeout);
|
|
156
|
-
this.children.delete(child);
|
|
157
|
-
resolveResult({
|
|
158
|
-
ok: false,
|
|
159
|
-
output: error.message,
|
|
160
|
-
stderr,
|
|
161
|
-
exitCode: 1,
|
|
162
|
-
});
|
|
163
|
-
});
|
|
164
|
-
});
|
|
165
|
-
|
|
166
|
-
return normalizeResult(result);
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
async execute(prompt, options = {}) {
|
|
170
|
-
const result = await this.run(prompt, options);
|
|
171
|
-
return {
|
|
172
|
-
output: result.output,
|
|
173
|
-
exitCode: result.exitCode,
|
|
174
|
-
threadId: null,
|
|
175
|
-
sessionKey: null,
|
|
176
|
-
raw: result.raw,
|
|
177
|
-
};
|
|
178
|
-
}
|
|
179
|
-
}
|