@runtypelabs/cli 2.7.1 → 2.8.1
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/dist/index.js +227 -2
- package/package.json +4 -4
package/dist/index.js
CHANGED
|
@@ -11807,6 +11807,8 @@ var require_generated_model_routing = __commonJS({
|
|
|
11807
11807
|
"gemma-2-9b": ["vercel"],
|
|
11808
11808
|
"gemma-2b": ["togetherai"],
|
|
11809
11809
|
"gemma-2b-it": ["togetherai"],
|
|
11810
|
+
"gemma-4-26b-a4b-it": ["vercel"],
|
|
11811
|
+
"gemma-4-31b-it": ["vercel"],
|
|
11810
11812
|
"gemma-7b": ["togetherai"],
|
|
11811
11813
|
"gemma-7b-it": ["togetherai"],
|
|
11812
11814
|
"glm-4.5": ["vercel"],
|
|
@@ -12134,6 +12136,7 @@ var require_generated_model_routing = __commonJS({
|
|
|
12134
12136
|
"qwen3.5-9b": ["mixlayer"],
|
|
12135
12137
|
"qwen3.5-flash": ["vercel"],
|
|
12136
12138
|
"qwen3.5-plus": ["vercel"],
|
|
12139
|
+
"qwen3.6-plus": ["vercel"],
|
|
12137
12140
|
"RedPajama-INCITE-7B-Base": ["togetherai"],
|
|
12138
12141
|
"RedPajama-INCITE-7B-Chat": ["togetherai"],
|
|
12139
12142
|
"RedPajama-INCITE-7B-Instruct": ["togetherai"],
|
|
@@ -12176,6 +12179,7 @@ var require_generated_model_routing = __commonJS({
|
|
|
12176
12179
|
"titan-embed-text-v2": ["vercel"],
|
|
12177
12180
|
"Toppy-M-7B": ["togetherai"],
|
|
12178
12181
|
"trinity-large-preview": ["vercel"],
|
|
12182
|
+
"trinity-large-thinking": ["vercel"],
|
|
12179
12183
|
"trinity-mini": ["vercel"],
|
|
12180
12184
|
"v0-1-0-md": ["vercel"],
|
|
12181
12185
|
"v0-1-5-md": ["vercel"],
|
|
@@ -12270,6 +12274,8 @@ var require_generated_model_routing = __commonJS({
|
|
|
12270
12274
|
"gemma-2-9b": ["vercel"],
|
|
12271
12275
|
"gemma-2b": ["togetherai"],
|
|
12272
12276
|
"gemma-2b-it": ["togetherai"],
|
|
12277
|
+
"gemma-4-26b-a4b-it": ["vercel"],
|
|
12278
|
+
"gemma-4-31b-it": ["vercel"],
|
|
12273
12279
|
"gemma-7b": ["togetherai"],
|
|
12274
12280
|
"gemma-7b-it": ["togetherai"],
|
|
12275
12281
|
"glm-4-5": ["vercel"],
|
|
@@ -12568,6 +12574,7 @@ var require_generated_model_routing = __commonJS({
|
|
|
12568
12574
|
"qwen3-5-9b": ["mixlayer"],
|
|
12569
12575
|
"qwen3-5-flash": ["vercel"],
|
|
12570
12576
|
"qwen3-5-plus": ["vercel"],
|
|
12577
|
+
"qwen3-6-plus": ["vercel"],
|
|
12571
12578
|
"qwen3-coder": ["vercel"],
|
|
12572
12579
|
"qwen3-coder-30b-a3b": ["vercel"],
|
|
12573
12580
|
"qwen3-coder-next": ["vercel"],
|
|
@@ -13018,6 +13025,12 @@ var require_generated_model_routing = __commonJS({
|
|
|
13018
13025
|
"gemma-2b-it": {
|
|
13019
13026
|
"togetherai": "google/gemma-2b-it"
|
|
13020
13027
|
},
|
|
13028
|
+
"gemma-4-26b-a4b-it": {
|
|
13029
|
+
"vercel": "google/gemma-4-26b-a4b-it"
|
|
13030
|
+
},
|
|
13031
|
+
"gemma-4-31b-it": {
|
|
13032
|
+
"vercel": "google/gemma-4-31b-it"
|
|
13033
|
+
},
|
|
13021
13034
|
"gemma-7b": {
|
|
13022
13035
|
"togetherai": "google/gemma-7b"
|
|
13023
13036
|
},
|
|
@@ -14394,6 +14407,9 @@ var require_generated_model_routing = __commonJS({
|
|
|
14394
14407
|
"qwen3-5-plus": {
|
|
14395
14408
|
"vercel": "alibaba/qwen3.5-plus"
|
|
14396
14409
|
},
|
|
14410
|
+
"qwen3-6-plus": {
|
|
14411
|
+
"vercel": "alibaba/qwen3.6-plus"
|
|
14412
|
+
},
|
|
14397
14413
|
"qwen3-coder": {
|
|
14398
14414
|
"vercel": "alibaba/qwen3-coder"
|
|
14399
14415
|
},
|
|
@@ -14466,6 +14482,9 @@ var require_generated_model_routing = __commonJS({
|
|
|
14466
14482
|
"qwen3.5-plus": {
|
|
14467
14483
|
"vercel": "alibaba/qwen3.5-plus"
|
|
14468
14484
|
},
|
|
14485
|
+
"qwen3.6-plus": {
|
|
14486
|
+
"vercel": "alibaba/qwen3.6-plus"
|
|
14487
|
+
},
|
|
14469
14488
|
"redpajama-incite-7b-base": {
|
|
14470
14489
|
"togetherai": "togethercomputer/RedPajama-INCITE-7B-Base"
|
|
14471
14490
|
},
|
|
@@ -14638,11 +14657,14 @@ var require_generated_model_routing = __commonJS({
|
|
|
14638
14657
|
"togetherai": "Undi95/Toppy-M-7B"
|
|
14639
14658
|
},
|
|
14640
14659
|
"trinity-large": {
|
|
14641
|
-
"vercel": "arcee-ai/trinity-large-
|
|
14660
|
+
"vercel": "arcee-ai/trinity-large-thinking"
|
|
14642
14661
|
},
|
|
14643
14662
|
"trinity-large-preview": {
|
|
14644
14663
|
"vercel": "arcee-ai/trinity-large-preview"
|
|
14645
14664
|
},
|
|
14665
|
+
"trinity-large-thinking": {
|
|
14666
|
+
"vercel": "arcee-ai/trinity-large-thinking"
|
|
14667
|
+
},
|
|
14646
14668
|
"trinity-mini": {
|
|
14647
14669
|
"vercel": "arcee-ai/trinity-mini"
|
|
14648
14670
|
},
|
|
@@ -14755,6 +14777,7 @@ var require_generated_model_routing = __commonJS({
|
|
|
14755
14777
|
"qwen3-32b": { providers: [{ provider: "vercel", weight: 100 }] },
|
|
14756
14778
|
"qwen3-5-flash": { providers: [{ provider: "vercel", weight: 100 }] },
|
|
14757
14779
|
"qwen3-5-plus": { providers: [{ provider: "vercel", weight: 100 }] },
|
|
14780
|
+
"qwen3-6-plus": { providers: [{ provider: "vercel", weight: 100 }] },
|
|
14758
14781
|
"qwen3-coder": { providers: [{ provider: "vercel", weight: 100 }] },
|
|
14759
14782
|
"qwen3-coder-30b-a3b": { providers: [{ provider: "vercel", weight: 100 }] },
|
|
14760
14783
|
"qwen3-coder-next": { providers: [{ provider: "vercel", weight: 100 }] },
|
|
@@ -21612,6 +21635,7 @@ var CHECKPOINT_COMMANDS = [
|
|
|
21612
21635
|
{ key: "/revert <file>", desc: "Restore file from checkpoint" },
|
|
21613
21636
|
{ key: "/reflect", desc: "Reassess approach" },
|
|
21614
21637
|
{ key: "/copy", desc: "Copy session JSON" },
|
|
21638
|
+
{ key: "/copy-trimmed", desc: "Copy JSON with large payloads trimmed" },
|
|
21615
21639
|
{ key: "/open", desc: "Open state file" },
|
|
21616
21640
|
{ key: "/stop", desc: "Stop the marathon" },
|
|
21617
21641
|
{ key: "/help", desc: "Toggle this help dialog" }
|
|
@@ -22691,6 +22715,11 @@ var MARATHON_CHECKPOINT_COMMANDS = [
|
|
|
22691
22715
|
},
|
|
22692
22716
|
{ name: "/reflect", description: "Open reflection editor to reassess approach", hasArgs: false },
|
|
22693
22717
|
{ name: "/copy", description: "Copy session JSON to clipboard", hasArgs: false },
|
|
22718
|
+
{
|
|
22719
|
+
name: "/copy-trimmed",
|
|
22720
|
+
description: "Copy session JSON with large code/tool payloads trimmed",
|
|
22721
|
+
hasArgs: false
|
|
22722
|
+
},
|
|
22694
22723
|
{ name: "/open", description: "Open state file in editor", hasArgs: false },
|
|
22695
22724
|
{ name: "/stop", description: "Stop marathon and save state", hasArgs: false },
|
|
22696
22725
|
{ name: "/help", description: "Show available commands", hasArgs: false }
|
|
@@ -23196,6 +23225,7 @@ function CheckpointPrompt({
|
|
|
23196
23225
|
onSubmit,
|
|
23197
23226
|
onToggleHelp,
|
|
23198
23227
|
onCopySession,
|
|
23228
|
+
onCopySessionTrimmed,
|
|
23199
23229
|
onOpenStateFile,
|
|
23200
23230
|
timeout,
|
|
23201
23231
|
isTerminal,
|
|
@@ -23314,6 +23344,11 @@ function CheckpointPrompt({
|
|
|
23314
23344
|
clearInputDraft();
|
|
23315
23345
|
return;
|
|
23316
23346
|
}
|
|
23347
|
+
if (trimmed === "/copy-trimmed") {
|
|
23348
|
+
onCopySessionTrimmed?.();
|
|
23349
|
+
clearInputDraft();
|
|
23350
|
+
return;
|
|
23351
|
+
}
|
|
23317
23352
|
if (trimmed === "/open") {
|
|
23318
23353
|
onOpenStateFile?.();
|
|
23319
23354
|
clearInputDraft();
|
|
@@ -23472,12 +23507,14 @@ import { theme as theme24 } from "@runtypelabs/ink-components";
|
|
|
23472
23507
|
import { jsx as jsx25, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
23473
23508
|
var MENU_ITEMS = [
|
|
23474
23509
|
{ key: "c", label: "Copy session JSON" },
|
|
23510
|
+
{ key: "t", label: "Copy trimmed JSON (for LLM context)" },
|
|
23475
23511
|
{ key: "e", label: "Open session JSON in editor" },
|
|
23476
23512
|
{ key: "f", label: "Open marathon folder in file manager" },
|
|
23477
23513
|
{ key: "d", label: "Open agent in Runtype dashboard" }
|
|
23478
23514
|
];
|
|
23479
23515
|
function SessionActionMenu({
|
|
23480
23516
|
onCopySession,
|
|
23517
|
+
onCopySessionTrimmed,
|
|
23481
23518
|
onOpenStateFile,
|
|
23482
23519
|
onOpenFolder,
|
|
23483
23520
|
onOpenDashboard,
|
|
@@ -23494,6 +23531,10 @@ function SessionActionMenu({
|
|
|
23494
23531
|
onCopySession();
|
|
23495
23532
|
return;
|
|
23496
23533
|
}
|
|
23534
|
+
if (input === "t") {
|
|
23535
|
+
onCopySessionTrimmed();
|
|
23536
|
+
return;
|
|
23537
|
+
}
|
|
23497
23538
|
if (input === "e" && hasStateFile) {
|
|
23498
23539
|
onOpenStateFile();
|
|
23499
23540
|
return;
|
|
@@ -23516,7 +23557,7 @@ function SessionActionMenu({
|
|
|
23516
23557
|
backgroundColor: theme24.surfaceElevated,
|
|
23517
23558
|
paddingX: 2,
|
|
23518
23559
|
paddingY: 1,
|
|
23519
|
-
width:
|
|
23560
|
+
width: 62,
|
|
23520
23561
|
children: [
|
|
23521
23562
|
/* @__PURE__ */ jsx25(Text24, { bold: true, color: theme24.accent, children: "Session" }),
|
|
23522
23563
|
/* @__PURE__ */ jsx25(Box22, { flexDirection: "column", marginTop: 1, children: MENU_ITEMS.map((item) => {
|
|
@@ -23535,6 +23576,164 @@ function SessionActionMenu({
|
|
|
23535
23576
|
);
|
|
23536
23577
|
}
|
|
23537
23578
|
|
|
23579
|
+
// src/ink/marathon/session-context-copy.ts
|
|
23580
|
+
var DEFAULT_MAX_CHARS = 900;
|
|
23581
|
+
var HEAVY_PREVIEW_MAX_CHARS = 360;
|
|
23582
|
+
var STREAM_EVENT_HEAVY_KEYS = /* @__PURE__ */ new Set(["parameters", "result", "finalOutput", "streamedInput"]);
|
|
23583
|
+
function omitFencedCodeBlocks(text) {
|
|
23584
|
+
return text.replace(/```[a-zA-Z0-9_-]*\n[\s\S]*?\n```/g, "[omitted code block]").replace(/```[\s\S]*?```/g, "[omitted code block]");
|
|
23585
|
+
}
|
|
23586
|
+
function compactLongText(text, maxChars = DEFAULT_MAX_CHARS) {
|
|
23587
|
+
const stripped = omitFencedCodeBlocks(text);
|
|
23588
|
+
if (stripped.length <= maxChars) return stripped;
|
|
23589
|
+
return `${stripped.slice(0, Math.max(0, maxChars - 1))}\u2026 (${text.length} chars)`;
|
|
23590
|
+
}
|
|
23591
|
+
function compactHeavyField(value) {
|
|
23592
|
+
const raw = typeof value === "string" ? value : JSON.stringify(value);
|
|
23593
|
+
return {
|
|
23594
|
+
_truncated: true,
|
|
23595
|
+
approxChars: raw.length,
|
|
23596
|
+
preview: compactLongText(raw, HEAVY_PREVIEW_MAX_CHARS)
|
|
23597
|
+
};
|
|
23598
|
+
}
|
|
23599
|
+
function stringCompactionReplacer(_key, val) {
|
|
23600
|
+
if (typeof val === "string") return compactLongText(val);
|
|
23601
|
+
return val;
|
|
23602
|
+
}
|
|
23603
|
+
function compactJsonLike(value) {
|
|
23604
|
+
try {
|
|
23605
|
+
return JSON.parse(JSON.stringify(value, stringCompactionReplacer));
|
|
23606
|
+
} catch {
|
|
23607
|
+
return typeof value === "string" ? compactLongText(value) : value;
|
|
23608
|
+
}
|
|
23609
|
+
}
|
|
23610
|
+
function compactRawStreamEventForCopy(event) {
|
|
23611
|
+
let data;
|
|
23612
|
+
if (event.listData) {
|
|
23613
|
+
data = JSON.parse(JSON.stringify(event.listData, stringCompactionReplacer));
|
|
23614
|
+
} else {
|
|
23615
|
+
data = {};
|
|
23616
|
+
for (const [k, v] of Object.entries(event.data)) {
|
|
23617
|
+
if (STREAM_EVENT_HEAVY_KEYS.has(k)) {
|
|
23618
|
+
data[k] = compactHeavyField(v);
|
|
23619
|
+
} else {
|
|
23620
|
+
data[k] = compactJsonLike(v);
|
|
23621
|
+
}
|
|
23622
|
+
}
|
|
23623
|
+
}
|
|
23624
|
+
return { timestamp: event.timestamp, type: event.type, data };
|
|
23625
|
+
}
|
|
23626
|
+
function compactMarathonToolEntryForCopy(tool) {
|
|
23627
|
+
return {
|
|
23628
|
+
id: tool.id,
|
|
23629
|
+
sequence: tool.sequence,
|
|
23630
|
+
sourceToolCallId: tool.sourceToolCallId,
|
|
23631
|
+
...tool.localToolCallId ? { localToolCallId: tool.localToolCallId } : {},
|
|
23632
|
+
name: tool.name,
|
|
23633
|
+
toolType: tool.toolType,
|
|
23634
|
+
status: tool.status,
|
|
23635
|
+
...tool.phase ? { phase: tool.phase } : {},
|
|
23636
|
+
...tool.inputPreview ? { inputPreview: tool.inputPreview } : {},
|
|
23637
|
+
...tool.executionTime !== void 0 ? { executionTime: tool.executionTime } : {},
|
|
23638
|
+
startedAt: tool.startedAt,
|
|
23639
|
+
...tool.localExecutionStartedAt !== void 0 ? { localExecutionStartedAt: tool.localExecutionStartedAt } : {},
|
|
23640
|
+
...tool.parameters !== void 0 ? {
|
|
23641
|
+
parameters: JSON.stringify(tool.parameters).length <= 2500 ? compactJsonLike(tool.parameters) : compactHeavyField(tool.parameters)
|
|
23642
|
+
} : {},
|
|
23643
|
+
...tool.streamedInput !== void 0 ? { streamedInput: compactLongText(tool.streamedInput, 480) } : {},
|
|
23644
|
+
...tool.result !== void 0 ? { result: compactHeavyField(tool.result) } : {}
|
|
23645
|
+
};
|
|
23646
|
+
}
|
|
23647
|
+
function compactSessionSnapshotForContextExport(snapshot) {
|
|
23648
|
+
return {
|
|
23649
|
+
...snapshot,
|
|
23650
|
+
content: compactLongText(snapshot.content),
|
|
23651
|
+
reasoning: compactLongText(snapshot.reasoning),
|
|
23652
|
+
tools: snapshot.tools.map(compactMarathonToolEntryForCopy),
|
|
23653
|
+
rawEvents: snapshot.rawEvents.map(compactRawStreamEventForCopy)
|
|
23654
|
+
};
|
|
23655
|
+
}
|
|
23656
|
+
function compactAgentMessageForContextExport(msg) {
|
|
23657
|
+
let content;
|
|
23658
|
+
if (typeof msg.content === "string") {
|
|
23659
|
+
content = compactLongText(msg.content);
|
|
23660
|
+
} else if (Array.isArray(msg.content)) {
|
|
23661
|
+
content = msg.content.map((part) => {
|
|
23662
|
+
if (part.text !== void 0) return { ...part, text: compactLongText(part.text) };
|
|
23663
|
+
if (part.data !== void 0) return { ...part, data: compactLongText(part.data) };
|
|
23664
|
+
return part;
|
|
23665
|
+
});
|
|
23666
|
+
} else {
|
|
23667
|
+
content = msg.content;
|
|
23668
|
+
}
|
|
23669
|
+
const toolCalls = msg.toolCalls?.map((tc) => ({
|
|
23670
|
+
...tc,
|
|
23671
|
+
args: compactJsonLike(tc.args)
|
|
23672
|
+
}));
|
|
23673
|
+
const toolResults = msg.toolResults?.map((tr) => ({
|
|
23674
|
+
...tr,
|
|
23675
|
+
result: tr.result !== void 0 ? compactHeavyField(tr.result) : tr.result
|
|
23676
|
+
}));
|
|
23677
|
+
return {
|
|
23678
|
+
role: msg.role,
|
|
23679
|
+
content,
|
|
23680
|
+
...toolCalls ? { toolCalls } : {},
|
|
23681
|
+
...toolResults ? { toolResults } : {}
|
|
23682
|
+
};
|
|
23683
|
+
}
|
|
23684
|
+
function compactSessionSummaryForContextExport(s) {
|
|
23685
|
+
return {
|
|
23686
|
+
...s,
|
|
23687
|
+
outputPreview: compactLongText(s.outputPreview),
|
|
23688
|
+
...s.toolTraceSummary !== void 0 ? { toolTraceSummary: compactLongText(s.toolTraceSummary) } : {}
|
|
23689
|
+
};
|
|
23690
|
+
}
|
|
23691
|
+
function compactContinuationForContextExport(c) {
|
|
23692
|
+
return {
|
|
23693
|
+
...c,
|
|
23694
|
+
...c.userMessage !== void 0 ? { userMessage: compactLongText(c.userMessage) } : {}
|
|
23695
|
+
};
|
|
23696
|
+
}
|
|
23697
|
+
function compactMarathonStateJsonForContextExport(parsed) {
|
|
23698
|
+
if (parsed === null || typeof parsed !== "object") {
|
|
23699
|
+
return typeof parsed === "string" ? compactLongText(parsed) : parsed;
|
|
23700
|
+
}
|
|
23701
|
+
if (Array.isArray(parsed)) {
|
|
23702
|
+
return parsed.map((item) => compactMarathonStateJsonForContextExport(item));
|
|
23703
|
+
}
|
|
23704
|
+
const obj = parsed;
|
|
23705
|
+
const out = {};
|
|
23706
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
23707
|
+
if (key === "sessionSnapshots" && Array.isArray(value)) {
|
|
23708
|
+
out[key] = value.map(
|
|
23709
|
+
(snap) => compactSessionSnapshotForContextExport(snap)
|
|
23710
|
+
);
|
|
23711
|
+
} else if (key === "messages" && Array.isArray(value)) {
|
|
23712
|
+
out[key] = value.map((m) => compactAgentMessageForContextExport(m));
|
|
23713
|
+
} else if (key === "sessions" && Array.isArray(value)) {
|
|
23714
|
+
out[key] = value.map((s) => compactSessionSummaryForContextExport(s));
|
|
23715
|
+
} else if (key === "continuations" && Array.isArray(value)) {
|
|
23716
|
+
out[key] = value.map((c) => compactContinuationForContextExport(c));
|
|
23717
|
+
} else if (key === "lastOutput" || key === "bootstrapContext" || key === "originalMessage" || key === "lastError" || key === "phaseTransitionSummary") {
|
|
23718
|
+
out[key] = typeof value === "string" ? compactLongText(value) : value;
|
|
23719
|
+
} else if (key === "workflowState" && value && typeof value === "object") {
|
|
23720
|
+
out[key] = JSON.parse(JSON.stringify(value, stringCompactionReplacer));
|
|
23721
|
+
} else {
|
|
23722
|
+
out[key] = compactMarathonStateJsonForContextExport(value);
|
|
23723
|
+
}
|
|
23724
|
+
}
|
|
23725
|
+
return out;
|
|
23726
|
+
}
|
|
23727
|
+
function compactLiveMarathonPayloadForContextExport(payload) {
|
|
23728
|
+
return {
|
|
23729
|
+
sessionSnapshots: payload.sessionSnapshots.map(compactSessionSnapshotForContextExport),
|
|
23730
|
+
content: compactLongText(payload.content),
|
|
23731
|
+
reasoning: compactLongText(payload.reasoning),
|
|
23732
|
+
tools: payload.tools.map(compactMarathonToolEntryForCopy),
|
|
23733
|
+
rawEvents: payload.rawEvents.map(compactRawStreamEventForCopy)
|
|
23734
|
+
};
|
|
23735
|
+
}
|
|
23736
|
+
|
|
23538
23737
|
// src/ink/marathon/UpgradeModal.tsx
|
|
23539
23738
|
import { Box as Box23, Text as Text25 } from "ink";
|
|
23540
23739
|
import { theme as theme25 } from "@runtypelabs/ink-components";
|
|
@@ -24385,6 +24584,30 @@ function MarathonApp({
|
|
|
24385
24584
|
showFlash("Copy failed");
|
|
24386
24585
|
}
|
|
24387
24586
|
}, [sessionSnapshots, state.content, state.reasoning, state.tools, stateFilePath2]);
|
|
24587
|
+
const handleCopySessionTrimmed = useCallback8(() => {
|
|
24588
|
+
setShowSessionMenu(false);
|
|
24589
|
+
try {
|
|
24590
|
+
let json;
|
|
24591
|
+
if (stateFilePath2 && fs4.existsSync(stateFilePath2)) {
|
|
24592
|
+
const raw = fs4.readFileSync(stateFilePath2, "utf-8");
|
|
24593
|
+
const parsed = JSON.parse(raw);
|
|
24594
|
+
json = JSON.stringify(compactMarathonStateJsonForContextExport(parsed), null, 2);
|
|
24595
|
+
} else {
|
|
24596
|
+
const compacted = compactLiveMarathonPayloadForContextExport({
|
|
24597
|
+
sessionSnapshots,
|
|
24598
|
+
content: state.content,
|
|
24599
|
+
reasoning: state.reasoning,
|
|
24600
|
+
tools: state.tools,
|
|
24601
|
+
rawEvents: rawEventsRef.current
|
|
24602
|
+
});
|
|
24603
|
+
json = JSON.stringify(compacted, null, 2);
|
|
24604
|
+
}
|
|
24605
|
+
const ok = copyToClipboard(json);
|
|
24606
|
+
showFlash(ok ? "Copied trimmed session JSON!" : "Copy failed");
|
|
24607
|
+
} catch {
|
|
24608
|
+
showFlash("Copy failed");
|
|
24609
|
+
}
|
|
24610
|
+
}, [sessionSnapshots, state.content, state.reasoning, state.tools, stateFilePath2]);
|
|
24388
24611
|
const handleOpenStateFile = useCallback8(() => {
|
|
24389
24612
|
setShowSessionMenu(false);
|
|
24390
24613
|
if (stateFilePath2 && fs4.existsSync(stateFilePath2)) {
|
|
@@ -25305,6 +25528,7 @@ function MarathonApp({
|
|
|
25305
25528
|
onSubmit: handleCheckpointSubmit,
|
|
25306
25529
|
onToggleHelp: () => setShowHelpOverlay((prev) => !prev),
|
|
25307
25530
|
onCopySession: handleCopySession,
|
|
25531
|
+
onCopySessionTrimmed: handleCopySessionTrimmed,
|
|
25308
25532
|
onOpenStateFile: handleOpenStateFile,
|
|
25309
25533
|
timeout: checkpointTimeout ?? 10,
|
|
25310
25534
|
isTerminal: isTerminalCheckpoint,
|
|
@@ -25443,6 +25667,7 @@ function MarathonApp({
|
|
|
25443
25667
|
SessionActionMenu,
|
|
25444
25668
|
{
|
|
25445
25669
|
onCopySession: handleCopySession,
|
|
25670
|
+
onCopySessionTrimmed: handleCopySessionTrimmed,
|
|
25446
25671
|
onOpenStateFile: handleOpenStateFile,
|
|
25447
25672
|
onOpenFolder: handleOpenFolder,
|
|
25448
25673
|
onOpenDashboard: handleOpenDashboard,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@runtypelabs/cli",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.8.1",
|
|
4
4
|
"description": "Command-line interface for Runtype AI platform",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -22,9 +22,9 @@
|
|
|
22
22
|
"uuid": "^9.0.1",
|
|
23
23
|
"micromatch": "^4.0.8",
|
|
24
24
|
"yaml": "^2.8.3",
|
|
25
|
-
"@runtypelabs/sdk": "1.13.1",
|
|
26
25
|
"@runtypelabs/ink-components": "0.3.1",
|
|
27
|
-
"@runtypelabs/terminal-animations": "0.2.0"
|
|
26
|
+
"@runtypelabs/terminal-animations": "0.2.0",
|
|
27
|
+
"@runtypelabs/sdk": "1.13.3"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@types/micromatch": "^4.0.9",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"tsx": "^4.7.1",
|
|
38
38
|
"typescript": "^5.3.3",
|
|
39
39
|
"vitest": "^4.0.18",
|
|
40
|
-
"@runtypelabs/shared": "1.
|
|
40
|
+
"@runtypelabs/shared": "1.1.1"
|
|
41
41
|
},
|
|
42
42
|
"engines": {
|
|
43
43
|
"node": ">=18.0.0"
|