stratagem-x7 0.3.5 → 0.3.6
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/cli.mjs +67 -38
- package/package.json +1 -1
package/dist/cli.mjs
CHANGED
|
@@ -218909,6 +218909,9 @@ function convertMessages(messages, system) {
|
|
|
218909
218909
|
return typeof c6 === "string" ? c6 : Array.isArray(c6) ? c6.map((p) => p.text ?? "").join("") : "";
|
|
218910
218910
|
})()
|
|
218911
218911
|
};
|
|
218912
|
+
if (thinkingBlock && thinkingBlock.thinking) {
|
|
218913
|
+
assistantMsg.reasoning_content = thinkingBlock.thinking;
|
|
218914
|
+
}
|
|
218912
218915
|
if (toolUses.length > 0) {
|
|
218913
218916
|
assistantMsg.tool_calls = toolUses.map((tu, index) => {
|
|
218914
218917
|
const toolCall = {
|
|
@@ -292456,7 +292459,7 @@ function AssistantTextMessage(t0) {
|
|
|
292456
292459
|
let t6;
|
|
292457
292460
|
if ($2[27] !== t4 || $2[28] !== t5) {
|
|
292458
292461
|
t6 = /* @__PURE__ */ jsx_dev_runtime77.jsxDEV(ThemedBox_default, {
|
|
292459
|
-
flexDirection: "
|
|
292462
|
+
flexDirection: "column",
|
|
292460
292463
|
borderStyle: "single",
|
|
292461
292464
|
borderColor: "claude",
|
|
292462
292465
|
borderLeft: true,
|
|
@@ -292465,8 +292468,21 @@ function AssistantTextMessage(t0) {
|
|
|
292465
292468
|
borderBottom: false,
|
|
292466
292469
|
paddingLeft: 1,
|
|
292467
292470
|
children: [
|
|
292468
|
-
|
|
292469
|
-
|
|
292471
|
+
/* @__PURE__ */ jsx_dev_runtime77.jsxDEV(ThemedBox_default, {
|
|
292472
|
+
marginBottom: 1,
|
|
292473
|
+
children: /* @__PURE__ */ jsx_dev_runtime77.jsxDEV(ThemedText, {
|
|
292474
|
+
color: "claude",
|
|
292475
|
+
italic: true,
|
|
292476
|
+
children: "STRATAGEM"
|
|
292477
|
+
}, undefined, false, undefined, this)
|
|
292478
|
+
}, undefined, false, undefined, this),
|
|
292479
|
+
/* @__PURE__ */ jsx_dev_runtime77.jsxDEV(ThemedBox_default, {
|
|
292480
|
+
flexDirection: "row",
|
|
292481
|
+
children: [
|
|
292482
|
+
t4,
|
|
292483
|
+
t5
|
|
292484
|
+
]
|
|
292485
|
+
}, undefined, true, undefined, this)
|
|
292470
292486
|
]
|
|
292471
292487
|
}, undefined, true, undefined, this);
|
|
292472
292488
|
$2[27] = t4;
|
|
@@ -292546,7 +292562,7 @@ function AssistantThinkingMessage(t0) {
|
|
|
292546
292562
|
let t52;
|
|
292547
292563
|
if ($2[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
292548
292564
|
t52 = /* @__PURE__ */ jsx_dev_runtime78.jsxDEV(ThemedText, {
|
|
292549
|
-
|
|
292565
|
+
dimColor: true,
|
|
292550
292566
|
italic: true,
|
|
292551
292567
|
children: [
|
|
292552
292568
|
"TRACE // COGNITION",
|
|
@@ -292563,7 +292579,7 @@ function AssistantThinkingMessage(t0) {
|
|
|
292563
292579
|
t62 = /* @__PURE__ */ jsx_dev_runtime78.jsxDEV(ThemedBox_default, {
|
|
292564
292580
|
marginTop: t42,
|
|
292565
292581
|
borderStyle: "single",
|
|
292566
|
-
borderColor: "
|
|
292582
|
+
borderColor: "dim",
|
|
292567
292583
|
borderLeft: true,
|
|
292568
292584
|
borderTop: false,
|
|
292569
292585
|
borderRight: false,
|
|
@@ -292582,7 +292598,7 @@ function AssistantThinkingMessage(t0) {
|
|
|
292582
292598
|
let t5;
|
|
292583
292599
|
if ($2[3] === Symbol.for("react.memo_cache_sentinel")) {
|
|
292584
292600
|
t5 = /* @__PURE__ */ jsx_dev_runtime78.jsxDEV(ThemedText, {
|
|
292585
|
-
|
|
292601
|
+
dimColor: true,
|
|
292586
292602
|
italic: true,
|
|
292587
292603
|
children: [
|
|
292588
292604
|
"TRACE // COGNITION",
|
|
@@ -292615,7 +292631,7 @@ function AssistantThinkingMessage(t0) {
|
|
|
292615
292631
|
marginTop: t4,
|
|
292616
292632
|
width: "100%",
|
|
292617
292633
|
borderStyle: "single",
|
|
292618
|
-
borderColor: "
|
|
292634
|
+
borderColor: "dim",
|
|
292619
292635
|
borderLeft: true,
|
|
292620
292636
|
borderTop: false,
|
|
292621
292637
|
borderRight: false,
|
|
@@ -294749,12 +294765,22 @@ ${tail}`;
|
|
|
294749
294765
|
borderTop: false,
|
|
294750
294766
|
borderRight: false,
|
|
294751
294767
|
borderBottom: false,
|
|
294752
|
-
children:
|
|
294753
|
-
|
|
294754
|
-
|
|
294755
|
-
|
|
294756
|
-
|
|
294757
|
-
|
|
294768
|
+
children: [
|
|
294769
|
+
!useBriefLayout && /* @__PURE__ */ jsx_dev_runtime92.jsxDEV(ThemedBox_default, {
|
|
294770
|
+
marginBottom: 1,
|
|
294771
|
+
children: /* @__PURE__ */ jsx_dev_runtime92.jsxDEV(ThemedText, {
|
|
294772
|
+
color: "promptBorder",
|
|
294773
|
+
italic: true,
|
|
294774
|
+
children: "USER"
|
|
294775
|
+
}, undefined, false, undefined, this)
|
|
294776
|
+
}, undefined, false, undefined, this),
|
|
294777
|
+
/* @__PURE__ */ jsx_dev_runtime92.jsxDEV(HighlightedThinkingText, {
|
|
294778
|
+
text: displayText,
|
|
294779
|
+
useBriefLayout,
|
|
294780
|
+
timestamp: useBriefLayout ? timestamp : undefined
|
|
294781
|
+
}, undefined, false, undefined, this)
|
|
294782
|
+
]
|
|
294783
|
+
}, undefined, true, undefined, this);
|
|
294758
294784
|
}
|
|
294759
294785
|
var import_react70, jsx_dev_runtime92, MAX_DISPLAY_CHARS = 1e4, TRUNCATE_HEAD_CHARS = 2500, TRUNCATE_TAIL_CHARS = 2500;
|
|
294760
294786
|
var init_UserPromptMessage = __esm(() => {
|
|
@@ -373529,11 +373555,11 @@ function collapseReadSearchGroups(messages, tools) {
|
|
|
373529
373555
|
if (currentGroup.messages.length === 0) {
|
|
373530
373556
|
return;
|
|
373531
373557
|
}
|
|
373532
|
-
result.push(createCollapsedGroup(currentGroup));
|
|
373533
373558
|
for (const deferred of deferredSkippable) {
|
|
373534
373559
|
result.push(deferred);
|
|
373535
373560
|
}
|
|
373536
373561
|
deferredSkippable = [];
|
|
373562
|
+
result.push(createCollapsedGroup(currentGroup));
|
|
373537
373563
|
currentGroup = createEmptyGroup();
|
|
373538
373564
|
}
|
|
373539
373565
|
for (const msg of messages) {
|
|
@@ -373621,7 +373647,11 @@ function collapseReadSearchGroups(messages, tools) {
|
|
|
373621
373647
|
currentGroup.relevantMemories ??= [];
|
|
373622
373648
|
currentGroup.relevantMemories.push(...msg.attachment.memories);
|
|
373623
373649
|
} else if (shouldSkipMessage(msg)) {
|
|
373624
|
-
|
|
373650
|
+
const isThinking = msg.type === "assistant" && (msg.message.content[0]?.type === "thinking" || msg.message.content[0]?.type === "redacted_thinking");
|
|
373651
|
+
if (isThinking && currentGroup.messages.length > 0) {
|
|
373652
|
+
flushGroup();
|
|
373653
|
+
result.push(msg);
|
|
373654
|
+
} else if (currentGroup.messages.length > 0 && !(msg.type === "attachment" && msg.attachment.type === "nested_memory")) {
|
|
373625
373655
|
deferredSkippable.push(msg);
|
|
373626
373656
|
} else {
|
|
373627
373657
|
result.push(msg);
|
|
@@ -382788,7 +382818,7 @@ function getAnthropicEnvMetadata() {
|
|
|
382788
382818
|
function getBuildAgeMinutes() {
|
|
382789
382819
|
if (false)
|
|
382790
382820
|
;
|
|
382791
|
-
const buildTime = new Date("2026-04-
|
|
382821
|
+
const buildTime = new Date("2026-04-24T13:00:51.720Z").getTime();
|
|
382792
382822
|
if (isNaN(buildTime))
|
|
382793
382823
|
return;
|
|
382794
382824
|
return Math.floor((Date.now() - buildTime) / 60000);
|
|
@@ -407057,7 +407087,7 @@ var init_feedback2 = __esm(() => {
|
|
|
407057
407087
|
aliases: ["bug"],
|
|
407058
407088
|
type: "local-jsx",
|
|
407059
407089
|
name: "feedback",
|
|
407060
|
-
description: `Submit feedback about
|
|
407090
|
+
description: `Submit feedback about Stratagem`,
|
|
407061
407091
|
argumentHint: "[report]",
|
|
407062
407092
|
isEnabled: () => !(isEnvTruthy(process.env.CLAUDE_CODE_USE_BEDROCK) || isEnvTruthy(process.env.CLAUDE_CODE_USE_VERTEX) || isEnvTruthy(process.env.CLAUDE_CODE_USE_FOUNDRY) || isEnvTruthy(process.env.DISABLE_FEEDBACK_COMMAND) || isEnvTruthy(process.env.DISABLE_BUG_COMMAND) || isEssentialTrafficOnly() || process.env.USER_TYPE === "ant" || !isPolicyAllowed("allow_product_feedback")),
|
|
407063
407093
|
load: () => Promise.resolve().then(() => (init_feedback(), exports_feedback))
|
|
@@ -409967,7 +409997,7 @@ function buildPrimarySection() {
|
|
|
409967
409997
|
}, undefined, false, undefined, this);
|
|
409968
409998
|
return [{
|
|
409969
409999
|
label: "Version",
|
|
409970
|
-
value: "0.3.
|
|
410000
|
+
value: "0.3.6"
|
|
409971
410001
|
}, {
|
|
409972
410002
|
label: "Session name",
|
|
409973
410003
|
value: nameValue
|
|
@@ -421564,7 +421594,7 @@ var init_doctor2 = __esm(() => {
|
|
|
421564
421594
|
init_envUtils();
|
|
421565
421595
|
doctor = {
|
|
421566
421596
|
name: "doctor",
|
|
421567
|
-
description: "Diagnose and verify your
|
|
421597
|
+
description: "Diagnose and verify your Stratagem installation and settings",
|
|
421568
421598
|
isEnabled: () => !isEnvTruthy(process.env.DISABLE_DOCTOR_COMMAND),
|
|
421569
421599
|
type: "local-jsx",
|
|
421570
421600
|
load: () => Promise.resolve().then(() => (init_doctor(), exports_doctor))
|
|
@@ -421918,7 +421948,7 @@ var init_memoryFileSelectorPaths = __esm(() => {
|
|
|
421918
421948
|
|
|
421919
421949
|
// src/components/memory/MemoryFileSelector.tsx
|
|
421920
421950
|
import { mkdir as mkdir29 } from "fs/promises";
|
|
421921
|
-
import { basename as basename36
|
|
421951
|
+
import { basename as basename36 } from "path";
|
|
421922
421952
|
function MemoryFileSelector(t0) {
|
|
421923
421953
|
const $2 = import_react_compiler_runtime156.c(58);
|
|
421924
421954
|
const {
|
|
@@ -421927,7 +421957,7 @@ function MemoryFileSelector(t0) {
|
|
|
421927
421957
|
} = t0;
|
|
421928
421958
|
const existingMemoryFiles = import_react121.use(getMemoryFiles());
|
|
421929
421959
|
const originalCwd = getOriginalCwd();
|
|
421930
|
-
const userMemoryPath =
|
|
421960
|
+
const userMemoryPath = getAutoMemEntrypoint();
|
|
421931
421961
|
const projectMemoryPath = getProjectMemoryPathForSelector(existingMemoryFiles, originalCwd);
|
|
421932
421962
|
const projectMemoryFileName = basename36(projectMemoryPath);
|
|
421933
421963
|
const hasUserMemory = existingMemoryFiles.some((f) => f.path === userMemoryPath);
|
|
@@ -421967,7 +421997,7 @@ function MemoryFileSelector(t0) {
|
|
|
421967
421997
|
let description;
|
|
421968
421998
|
const isGit = projectIsInGitRepo(originalCwd);
|
|
421969
421999
|
if (file2.type === "User" && !file2.isNested) {
|
|
421970
|
-
description =
|
|
422000
|
+
description = `Saved in ${getDisplayPath(userMemoryPath)}`;
|
|
421971
422001
|
} else {
|
|
421972
422002
|
if (file2.type === "Project" && !file2.isNested && file2.path === projectMemoryPath) {
|
|
421973
422003
|
description = `${isGit ? "Checked in at" : "Saved in"} ./${projectMemoryFileName}`;
|
|
@@ -422379,7 +422409,6 @@ var init_MemoryFileSelector = __esm(() => {
|
|
|
422379
422409
|
init_agentMemory();
|
|
422380
422410
|
init_browser();
|
|
422381
422411
|
init_claudemd();
|
|
422382
|
-
init_envUtils();
|
|
422383
422412
|
init_file();
|
|
422384
422413
|
init_format2();
|
|
422385
422414
|
init_versions3();
|
|
@@ -422714,7 +422743,7 @@ ${editorHint}`, {
|
|
|
422714
422743
|
children: [
|
|
422715
422744
|
"Learn more: ",
|
|
422716
422745
|
/* @__PURE__ */ jsx_dev_runtime207.jsxDEV(Link, {
|
|
422717
|
-
url: "https://
|
|
422746
|
+
url: "https://github.com/EstarinAzx/STRATAGEM"
|
|
422718
422747
|
}, undefined, false, undefined, this)
|
|
422719
422748
|
]
|
|
422720
422749
|
}, undefined, true, undefined, this)
|
|
@@ -422750,7 +422779,7 @@ var init_memory2 = __esm(() => {
|
|
|
422750
422779
|
memory = {
|
|
422751
422780
|
type: "local-jsx",
|
|
422752
422781
|
name: "memory",
|
|
422753
|
-
description: "Edit
|
|
422782
|
+
description: "Edit memory files",
|
|
422754
422783
|
load: () => Promise.resolve().then(() => (init_memory(), exports_memory))
|
|
422755
422784
|
};
|
|
422756
422785
|
memory_default = memory;
|
|
@@ -448150,7 +448179,7 @@ var init_mobile2 = __esm(() => {
|
|
|
448150
448179
|
type: "local-jsx",
|
|
448151
448180
|
name: "mobile",
|
|
448152
448181
|
aliases: ["ios", "android"],
|
|
448153
|
-
description: "Show QR code to download the
|
|
448182
|
+
description: "Show QR code to download the mobile app",
|
|
448154
448183
|
load: () => Promise.resolve().then(() => (init_mobile(), exports_mobile))
|
|
448155
448184
|
};
|
|
448156
448185
|
mobile_default = mobile;
|
|
@@ -449595,7 +449624,7 @@ function getStartupLines(termWidth) {
|
|
|
449595
449624
|
const sLen = ` ● ${sL} buffer ready — /help for breach controls`.length;
|
|
449596
449625
|
out.push(centerAnsiLine(boxRow(sRow, W2, sLen), tw));
|
|
449597
449626
|
out.push(centerAnsiLine(`${rgb3(...BORDER)}└${"─".repeat(W2 - 2)}┘${RESET2}`, tw));
|
|
449598
|
-
out.push(centerAnsiLine(`${rgb3(...DIMCOL)}STRATAGEM X7${RESET2} ${rgb3(...ACCENT)}v${"0.3.
|
|
449627
|
+
out.push(centerAnsiLine(`${rgb3(...DIMCOL)}STRATAGEM X7${RESET2} ${rgb3(...ACCENT)}v${"0.3.6"}${RESET2} ${rgb3(...CYAN)}// breach link stable${RESET2}`, tw));
|
|
449599
449628
|
out.push("");
|
|
449600
449629
|
return out;
|
|
449601
449630
|
}
|
|
@@ -457030,7 +457059,7 @@ var init_status3 = __esm(() => {
|
|
|
457030
457059
|
status = {
|
|
457031
457060
|
type: "local-jsx",
|
|
457032
457061
|
name: "status",
|
|
457033
|
-
description: "Show
|
|
457062
|
+
description: "Show Stratagem status including version, model, account, API connectivity, and tool statuses",
|
|
457034
457063
|
immediate: true,
|
|
457035
457064
|
load: () => Promise.resolve().then(() => (init_status2(), exports_status))
|
|
457036
457065
|
};
|
|
@@ -477235,7 +477264,7 @@ var init_plugin2 = __esm(() => {
|
|
|
477235
477264
|
type: "local-jsx",
|
|
477236
477265
|
name: "plugin",
|
|
477237
477266
|
aliases: ["plugins", "marketplace"],
|
|
477238
|
-
description: "Manage
|
|
477267
|
+
description: "Manage Stratagem plugins",
|
|
477239
477268
|
immediate: true,
|
|
477240
477269
|
load: () => Promise.resolve().then(() => (init_plugin(), exports_plugin))
|
|
477241
477270
|
};
|
|
@@ -478144,7 +478173,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
478144
478173
|
var call60 = async () => {
|
|
478145
478174
|
return {
|
|
478146
478175
|
type: "text",
|
|
478147
|
-
value: `${"99.0.0"} (built ${"2026-04-
|
|
478176
|
+
value: `${"99.0.0"} (built ${"2026-04-24T13:00:51.720Z"})`
|
|
478148
478177
|
};
|
|
478149
478178
|
}, version2, version_default;
|
|
478150
478179
|
var init_version = __esm(() => {
|
|
@@ -480624,7 +480653,7 @@ var init_stickers2 = __esm(() => {
|
|
|
480624
480653
|
stickers = {
|
|
480625
480654
|
type: "local",
|
|
480626
480655
|
name: "stickers",
|
|
480627
|
-
description: "Order
|
|
480656
|
+
description: "Order Stratagem stickers",
|
|
480628
480657
|
supportsNonInteractive: false,
|
|
480629
480658
|
load: () => Promise.resolve().then(() => (init_stickers(), exports_stickers))
|
|
480630
480659
|
};
|
|
@@ -482143,7 +482172,7 @@ var init_model3 = __esm(() => {
|
|
|
482143
482172
|
type: "local-jsx",
|
|
482144
482173
|
name: "model",
|
|
482145
482174
|
get description() {
|
|
482146
|
-
return `Set the AI model for
|
|
482175
|
+
return `Set the AI model for Stratagem (currently ${renderModelName(getMainLoopModel())})`;
|
|
482147
482176
|
},
|
|
482148
482177
|
argumentHint: "[model]",
|
|
482149
482178
|
get immediate() {
|
|
@@ -486499,7 +486528,7 @@ var init_stats3 = __esm(() => {
|
|
|
486499
486528
|
stats = {
|
|
486500
486529
|
type: "local-jsx",
|
|
486501
486530
|
name: "stats",
|
|
486502
|
-
description: "Show your
|
|
486531
|
+
description: "Show your Stratagem usage statistics and activity",
|
|
486503
486532
|
load: () => Promise.resolve().then(() => (init_stats2(), exports_stats))
|
|
486504
486533
|
};
|
|
486505
486534
|
stats_default = stats;
|
|
@@ -553535,7 +553564,7 @@ function WelcomeV2() {
|
|
|
553535
553564
|
dimColor: true,
|
|
553536
553565
|
children: [
|
|
553537
553566
|
"v",
|
|
553538
|
-
"0.3.
|
|
553567
|
+
"0.3.6",
|
|
553539
553568
|
" "
|
|
553540
553569
|
]
|
|
553541
553570
|
}, undefined, true, undefined, this)
|
|
@@ -557620,7 +557649,7 @@ function generateSettingsSchema() {
|
|
|
557620
557649
|
function registerUpdateConfigSkill() {
|
|
557621
557650
|
registerBundledSkill({
|
|
557622
557651
|
name: "update-config",
|
|
557623
|
-
description: 'Use this skill to configure the
|
|
557652
|
+
description: 'Use this skill to configure the Stratagem harness via settings.json. Automated behaviors ("from now on when X", "each time X", "whenever X", "before/after X") require hooks configured in settings.json - the harness executes these, not the agent, so memory/preferences cannot fulfill them. Also use for: permissions ("allow X", "add permission", "move permission to"), env vars ("set X=Y"), hook troubleshooting, or any changes to settings.json/settings.local.json files. Examples: "allow npm commands", "add bq permission to global settings", "move permission to user settings", "set DEBUG=true", "when claude stops show X". For simple settings like theme/model, use Config tool.',
|
|
557624
557653
|
allowedTools: ["Read"],
|
|
557625
557654
|
userInvocable: true,
|
|
557626
557655
|
async getPromptForCommand(args) {
|
|
@@ -573553,7 +573582,7 @@ Usage: stx7 --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
573553
573582
|
pendingHookMessages
|
|
573554
573583
|
}, renderAndRun);
|
|
573555
573584
|
}
|
|
573556
|
-
}).version("0.3.
|
|
573585
|
+
}).version("0.3.6 (STRATAGEM X7)", "-v, --version", "Output the version number");
|
|
573557
573586
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
573558
573587
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
573559
573588
|
if (canUserConfigureAdvisor()) {
|
|
@@ -574082,7 +574111,7 @@ if (false) {}
|
|
|
574082
574111
|
async function main2() {
|
|
574083
574112
|
const args = process.argv.slice(2);
|
|
574084
574113
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
574085
|
-
console.log(`${"0.3.
|
|
574114
|
+
console.log(`${"0.3.6"} (STRATAGEM X7)`);
|
|
574086
574115
|
return;
|
|
574087
574116
|
}
|
|
574088
574117
|
if (args.includes("--provider")) {
|
|
@@ -574204,4 +574233,4 @@ async function main2() {
|
|
|
574204
574233
|
}
|
|
574205
574234
|
main2();
|
|
574206
574235
|
|
|
574207
|
-
//# debugId=
|
|
574236
|
+
//# debugId=213DA9419217F0CA64756E2164756E21
|