trantor 0.18.103 → 0.18.104
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/.claude-plugin/plugin.json +1 -1
- package/bin/crew/core.mjs +4 -1
- package/bin/crew-runner.mjs +5 -2
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "trantor",
|
|
3
|
-
"version": "0.18.
|
|
3
|
+
"version": "0.18.104",
|
|
4
4
|
"description": "Trantor — the hub-world for AI agent crews: live message bus, presence, project Kanban/flow board + crew orchestration for independent AI coding agents (Claude, Codex, Gemini, Kimi, DeepSeek)",
|
|
5
5
|
"mcpServers": {
|
|
6
6
|
"relay": {
|
package/bin/crew/core.mjs
CHANGED
|
@@ -4,6 +4,9 @@ import { spawnSync } from "node:child_process";
|
|
|
4
4
|
import { fileURLToPath } from "node:url";
|
|
5
5
|
import { STATE_FLAGS } from "../../lib/state/flags.mjs";
|
|
6
6
|
|
|
7
|
+
// the card limits the runner reads (#11559 budget, #11855 context cap), tunable at `trantor up`
|
|
8
|
+
export const RUNNER_LIMIT_FLAGS = ["TRANTOR_CARD_TOKEN_BUDGET", "TRANTOR_CARD_CONTEXT_CAP", "TRANTOR_CARD_CAP_MIN_STEPS", "TRANTOR_CARD_CAP_MAX_HANDOFFS"];
|
|
9
|
+
|
|
7
10
|
export const ROOT = dirname(dirname(dirname(fileURLToPath(import.meta.url))));
|
|
8
11
|
|
|
9
12
|
export function commandExists(name, env = process.env) {
|
|
@@ -149,7 +152,7 @@ export function gridColumns(size) {
|
|
|
149
152
|
// in lib/state/flags.mjs beside the resolver: the launcher env stays the forwarder (the runner boots
|
|
150
153
|
// before any file is sourced), and #7159 lets the runner fall back to ~/.agent-bus/.env itself, so a
|
|
151
154
|
// flag documented there finally arms the seat that reads it.
|
|
152
|
-
const FORWARDED_ENV = STATE_FLAGS;
|
|
155
|
+
const FORWARDED_ENV = [...STATE_FLAGS, ...RUNNER_LIMIT_FLAGS];
|
|
153
156
|
|
|
154
157
|
export function runnerCommand(ctx, agent, model = "", effort = null, persona = agent) {
|
|
155
158
|
const forwarded = FORWARDED_ENV
|
package/bin/crew-runner.mjs
CHANGED
|
@@ -250,7 +250,9 @@ const CLI = {
|
|
|
250
250
|
// kimi-code (successor to kimi-cli) has no --print (-p alone is non-interactive), REJECTS
|
|
251
251
|
// --yolo in prompt mode (prompt mode auto-approves tools), and emits session_-prefixed ids.
|
|
252
252
|
kimi: { first: `kimi{M} -p "$(cat {P})" < /dev/null`,
|
|
253
|
-
|
|
253
|
+
// -S resumes; kimi-code 0.34 silently ignores -r (its own exit hint still prints -r) and
|
|
254
|
+
// opens a new session, so every kimi turn ran cold with no history
|
|
255
|
+
next: `kimi{M} -S {SID} -p "$(cat {P})" < /dev/null`, mflag: " --model ", sid: /To resume this session:\s*kimi (?:-r|-S|--session) (\S+)/ },
|
|
254
256
|
// #6154: `run -c` resumes the globally last session on this machine, any project's, and its stored
|
|
255
257
|
// directory becomes the path root. So every spawn pins --dir and a resume pins -s (ocSid below).
|
|
256
258
|
deepseek: { first: `opencode run --dir {DIR}{M} "$(cat {P})"`,
|
|
@@ -1051,7 +1053,8 @@ exit $turn_exit`;
|
|
|
1051
1053
|
if (env.turn) log(`state step: ${describeTurn(env.turn)} · ${costLine(env.cost)}`);
|
|
1052
1054
|
else log(`\x1b[33mstate step: no TurnResult — ${env.error}\x1b[0m`);
|
|
1053
1055
|
}
|
|
1054
|
-
|
|
1056
|
+
// kimi prints its resume hint on stderr, so a stdout-only match never captured its sid
|
|
1057
|
+
if (cli.sid) { const all = [...`${r.stdout || ""}\n${ownOut}`.matchAll(new RegExp(cli.sid.source, "g"))]; if (all.length) sid = all.at(-1)[1]; }
|
|
1055
1058
|
// #6154: the opencode family prints no sid on stdout — the id comes from opencode's own DB,
|
|
1056
1059
|
// keyed by the worktree the session was created in. Fail-open: nothing found leaves sid empty,
|
|
1057
1060
|
// and the next turn starts fresh rather than resuming whatever other project ran last.
|