@sema-agent/cli 1.0.27 → 1.0.29
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/npm-shrinkwrap.json +14 -14
- package/package.json +5 -5
- package/sema.js +97 -79
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sema-agent/cli",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.29",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@sema-agent/cli",
|
|
9
|
-
"version": "1.0.
|
|
9
|
+
"version": "1.0.29",
|
|
10
10
|
"license": "BUSL-1.1",
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@sema-agent/sdk": "0.0.
|
|
13
|
-
"@sema-agent/server": "1.
|
|
12
|
+
"@sema-agent/sdk": "0.0.58",
|
|
13
|
+
"@sema-agent/server": "1.230.0"
|
|
14
14
|
},
|
|
15
15
|
"bin": {
|
|
16
16
|
"sema": "sema.js"
|
|
@@ -629,9 +629,9 @@
|
|
|
629
629
|
}
|
|
630
630
|
},
|
|
631
631
|
"node_modules/@sema-agent/core": {
|
|
632
|
-
"version": "1.
|
|
633
|
-
"resolved": "https://registry.npmjs.org/@sema-agent/core/-/core-1.
|
|
634
|
-
"integrity": "sha512-
|
|
632
|
+
"version": "1.333.0",
|
|
633
|
+
"resolved": "https://registry.npmjs.org/@sema-agent/core/-/core-1.333.0.tgz",
|
|
634
|
+
"integrity": "sha512-tZBdXwFo4pLz7NbsOMEGp4ilm+zIX9s4lD/T67aBkEYm8l38vl+fR5Ht2yJbaT6HOMBWyhSZNEU8mVD+N5K/ww==",
|
|
635
635
|
"license": "BUSL-1.1",
|
|
636
636
|
"dependencies": {
|
|
637
637
|
"@modelcontextprotocol/sdk": "1.29.0",
|
|
@@ -669,21 +669,21 @@
|
|
|
669
669
|
}
|
|
670
670
|
},
|
|
671
671
|
"node_modules/@sema-agent/sdk": {
|
|
672
|
-
"version": "0.0.
|
|
673
|
-
"resolved": "https://registry.npmjs.org/@sema-agent/sdk/-/sdk-0.0.
|
|
674
|
-
"integrity": "sha512-
|
|
672
|
+
"version": "0.0.58",
|
|
673
|
+
"resolved": "https://registry.npmjs.org/@sema-agent/sdk/-/sdk-0.0.58.tgz",
|
|
674
|
+
"integrity": "sha512-F9y2lgmaNImqHKfYNUd7jIM1TnRrnHcRAOn+aJhP3u3556jL2yVYUepAMExFd9ioq06Eyqg4cZF+aaok94bPLw==",
|
|
675
675
|
"license": "BUSL-1.1",
|
|
676
676
|
"engines": {
|
|
677
677
|
"node": ">=20"
|
|
678
678
|
}
|
|
679
679
|
},
|
|
680
680
|
"node_modules/@sema-agent/server": {
|
|
681
|
-
"version": "1.
|
|
682
|
-
"resolved": "https://registry.npmjs.org/@sema-agent/server/-/server-1.
|
|
683
|
-
"integrity": "sha512-
|
|
681
|
+
"version": "1.230.0",
|
|
682
|
+
"resolved": "https://registry.npmjs.org/@sema-agent/server/-/server-1.230.0.tgz",
|
|
683
|
+
"integrity": "sha512-Thg7T8GxxdaNAX4SdhVtK3qPQNyxlROUlboX/tgTFcQGgo67t+EbvXeOYbOqQTart9gwFd4cyCDnm9OohwZi5Q==",
|
|
684
684
|
"license": "BUSL-1.1",
|
|
685
685
|
"dependencies": {
|
|
686
|
-
"@sema-agent/core": "^1.
|
|
686
|
+
"@sema-agent/core": "^1.330.0",
|
|
687
687
|
"@sema-agent/registry-core": "^0.10.16",
|
|
688
688
|
"e2b": "^2.28.0",
|
|
689
689
|
"libsodium-wrappers": "^0.8.4",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sema-agent/cli",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.29",
|
|
4
4
|
"description": "Sema — your own Claude Code-grade coding agent, in the terminal.",
|
|
5
5
|
"license": "BUSL-1.1",
|
|
6
6
|
"bin": {
|
|
@@ -21,14 +21,14 @@
|
|
|
21
21
|
"sema"
|
|
22
22
|
],
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@sema-agent/sdk": "0.0.
|
|
25
|
-
"@sema-agent/server": "1.
|
|
24
|
+
"@sema-agent/sdk": "0.0.58",
|
|
25
|
+
"@sema-agent/server": "1.230.0"
|
|
26
26
|
},
|
|
27
27
|
"overrides": {
|
|
28
|
-
"@sema-agent/core": "1.
|
|
28
|
+
"@sema-agent/core": "1.333.0",
|
|
29
29
|
"@sema-agent/registry-core": "0.10.19"
|
|
30
30
|
},
|
|
31
|
-
"semaEngineVersion": "server 1.
|
|
31
|
+
"semaEngineVersion": "server 1.230.0 / core 1.333.0 / registry-core 0.10.19",
|
|
32
32
|
"engines": {
|
|
33
33
|
"node": ">=18"
|
|
34
34
|
}
|
package/sema.js
CHANGED
|
@@ -157603,16 +157603,22 @@ function extraDeferFromEnv(env5) {
|
|
|
157603
157603
|
if (typeof raw2 !== "string" || raw2.trim().length === 0) return [];
|
|
157604
157604
|
return raw2.split(",").map((s) => s.trim()).filter((s) => s.length > 0);
|
|
157605
157605
|
}
|
|
157606
|
+
function lowFreqOptedOut(env5) {
|
|
157607
|
+
const raw2 = env5[DEFER_LOWFREQ_ENV];
|
|
157608
|
+
const s = typeof raw2 === "string" ? raw2.trim().toLowerCase() : "";
|
|
157609
|
+
return s === "0" || s === "false" || s === "no" || s === "off";
|
|
157610
|
+
}
|
|
157606
157611
|
function deferToolsForRequest(humanInput, env5 = process.env) {
|
|
157607
157612
|
const workflowLane = workflowDeferForRequest(humanInput, env5) ?? [];
|
|
157613
|
+
const lowFreqLane = lowFreqOptedOut(env5) ? [] : DEFAULT_LOWFREQ_DEFER;
|
|
157608
157614
|
const extra = extraDeferFromEnv(env5).filter(
|
|
157609
157615
|
(name) => name !== "Workflow" || workflowLane.length > 0
|
|
157610
157616
|
// activation wins over the env list for Workflow
|
|
157611
157617
|
);
|
|
157612
|
-
const merged = [.../* @__PURE__ */ new Set([...workflowLane, ...extra])];
|
|
157618
|
+
const merged = [.../* @__PURE__ */ new Set([...workflowLane, ...lowFreqLane, ...extra])];
|
|
157613
157619
|
return merged.length > 0 ? merged : void 0;
|
|
157614
157620
|
}
|
|
157615
|
-
var ultracodePreset, ULTRACODE_KEYWORD, WORKFLOW_KEYWORD, WORKFLOW_DEFER_ENV, DEFER_TOOLS_ENV;
|
|
157621
|
+
var ultracodePreset, ULTRACODE_KEYWORD, WORKFLOW_KEYWORD, WORKFLOW_DEFER_ENV, DEFER_TOOLS_ENV, DEFER_LOWFREQ_ENV, DEFAULT_LOWFREQ_DEFER;
|
|
157616
157622
|
var init_ultracodeWireCaps = __esm({
|
|
157617
157623
|
"build-src/src/sema/ultracodeWireCaps.ts"() {
|
|
157618
157624
|
ultracodePreset = false;
|
|
@@ -157620,6 +157626,18 @@ var init_ultracodeWireCaps = __esm({
|
|
|
157620
157626
|
WORKFLOW_KEYWORD = /\bworkflows?\b/i;
|
|
157621
157627
|
WORKFLOW_DEFER_ENV = "SEMA_WORKFLOW_DEFER";
|
|
157622
157628
|
DEFER_TOOLS_ENV = "SEMA_DEFER_TOOLS";
|
|
157629
|
+
DEFER_LOWFREQ_ENV = "SEMA_DEFER_LOWFREQ";
|
|
157630
|
+
DEFAULT_LOWFREQ_DEFER = [
|
|
157631
|
+
"Glob",
|
|
157632
|
+
"Grep",
|
|
157633
|
+
"LSP",
|
|
157634
|
+
"RepoMap",
|
|
157635
|
+
"Monitor",
|
|
157636
|
+
"Now",
|
|
157637
|
+
"AgentTranscript",
|
|
157638
|
+
"ReadToolResult",
|
|
157639
|
+
"ReportBlocked"
|
|
157640
|
+
];
|
|
157623
157641
|
}
|
|
157624
157642
|
});
|
|
157625
157643
|
|
|
@@ -331916,9 +331934,9 @@ function streamingTailWrap(unstableSuffix) {
|
|
|
331916
331934
|
var import_compiler_runtime43, import_react43, import_jsx_runtime53, TOKEN_CACHE_MAX, tokenCache, MD_SYNTAX_RE;
|
|
331917
331935
|
var init_Markdown = __esm({
|
|
331918
331936
|
"build-src/src/components/Markdown.tsx"() {
|
|
331919
|
-
import_compiler_runtime43 = __toESM(require_compiler_runtime()
|
|
331937
|
+
import_compiler_runtime43 = __toESM(require_compiler_runtime());
|
|
331920
331938
|
init_marked_esm();
|
|
331921
|
-
import_react43 = __toESM(require_react()
|
|
331939
|
+
import_react43 = __toESM(require_react());
|
|
331922
331940
|
init_useSettings();
|
|
331923
331941
|
init_ink2();
|
|
331924
331942
|
init_cliHighlight();
|
|
@@ -331926,7 +331944,7 @@ var init_Markdown = __esm({
|
|
|
331926
331944
|
init_markdown();
|
|
331927
331945
|
init_messages4();
|
|
331928
331946
|
init_MarkdownTable();
|
|
331929
|
-
import_jsx_runtime53 = __toESM(require_jsx_runtime()
|
|
331947
|
+
import_jsx_runtime53 = __toESM(require_jsx_runtime());
|
|
331930
331948
|
TOKEN_CACHE_MAX = 500;
|
|
331931
331949
|
tokenCache = /* @__PURE__ */ new Map();
|
|
331932
331950
|
MD_SYNTAX_RE = /[#*`|[>\-_~]|\n\n|^\d+\. |\n\d+\. /;
|
|
@@ -353795,7 +353813,7 @@ function useClaudeAiLimits() {
|
|
|
353795
353813
|
var import_react64;
|
|
353796
353814
|
var init_claudeAiLimitsHook = __esm({
|
|
353797
353815
|
"build-src/src/services/claudeAiLimitsHook.ts"() {
|
|
353798
|
-
import_react64 = __toESM(require_react());
|
|
353816
|
+
import_react64 = __toESM(require_react(), 1);
|
|
353799
353817
|
init_claudeAiLimits();
|
|
353800
353818
|
}
|
|
353801
353819
|
});
|
|
@@ -430185,10 +430203,9 @@ var init_engineLogSweep = __esm({
|
|
|
430185
430203
|
|
|
430186
430204
|
// build-src/src/sema/cloudProfile.ts
|
|
430187
430205
|
import { existsSync as existsSync15, mkdirSync as mkdirSync12, readFileSync as readFileSync25, writeFileSync as writeFileSync12, chmodSync as chmodSync4 } from "fs";
|
|
430188
|
-
import { homedir as homedir31 } from "os";
|
|
430189
430206
|
import { join as join119, dirname as dirname55 } from "path";
|
|
430190
430207
|
function cloudDir() {
|
|
430191
|
-
return join119(
|
|
430208
|
+
return join119(getClaudeConfigHomeDir(), "cloud");
|
|
430192
430209
|
}
|
|
430193
430210
|
function profilesPath() {
|
|
430194
430211
|
return join119(cloudDir(), "profiles.json");
|
|
@@ -430272,6 +430289,7 @@ function jwtExpiryMs(token) {
|
|
|
430272
430289
|
}
|
|
430273
430290
|
var init_cloudProfile = __esm({
|
|
430274
430291
|
"build-src/src/sema/cloudProfile.ts"() {
|
|
430292
|
+
init_envUtils();
|
|
430275
430293
|
}
|
|
430276
430294
|
});
|
|
430277
430295
|
|
|
@@ -435699,7 +435717,7 @@ var init_projectOnboardingState = __esm({
|
|
|
435699
435717
|
|
|
435700
435718
|
// build-src/src/utils/appleTerminalBackup.ts
|
|
435701
435719
|
import { stat as stat35 } from "fs/promises";
|
|
435702
|
-
import { homedir as
|
|
435720
|
+
import { homedir as homedir31 } from "os";
|
|
435703
435721
|
import { join as join123 } from "path";
|
|
435704
435722
|
function markTerminalSetupInProgress(backupPath) {
|
|
435705
435723
|
saveGlobalConfig((current3) => ({
|
|
@@ -435722,7 +435740,7 @@ function getTerminalRecoveryInfo() {
|
|
|
435722
435740
|
};
|
|
435723
435741
|
}
|
|
435724
435742
|
function getTerminalPlistPath() {
|
|
435725
|
-
return join123(
|
|
435743
|
+
return join123(homedir31(), "Library", "Preferences", "com.apple.Terminal.plist");
|
|
435726
435744
|
}
|
|
435727
435745
|
async function backupTerminalPreferences() {
|
|
435728
435746
|
const terminalPlistPath = getTerminalPlistPath();
|
|
@@ -435799,11 +435817,11 @@ var init_appleTerminalBackup = __esm({
|
|
|
435799
435817
|
});
|
|
435800
435818
|
|
|
435801
435819
|
// build-src/src/utils/completionCache.ts
|
|
435802
|
-
import { homedir as
|
|
435820
|
+
import { homedir as homedir32 } from "os";
|
|
435803
435821
|
import { dirname as dirname58, join as join124 } from "path";
|
|
435804
435822
|
function detectShell() {
|
|
435805
435823
|
const shell = process.env.SHELL || "";
|
|
435806
|
-
const home =
|
|
435824
|
+
const home = homedir32();
|
|
435807
435825
|
const claudeDir = join124(home, ".sema");
|
|
435808
435826
|
if (shell.endsWith("/zsh") || shell.endsWith("/zsh.exe")) {
|
|
435809
435827
|
const cacheFile = join124(claudeDir, "completion.zsh");
|
|
@@ -435885,7 +435903,7 @@ __export(terminalSetup_exports, {
|
|
|
435885
435903
|
});
|
|
435886
435904
|
import { randomBytes as randomBytes16 } from "crypto";
|
|
435887
435905
|
import { copyFile as copyFile8, mkdir as mkdir31, readFile as readFile35, writeFile as writeFile31 } from "fs/promises";
|
|
435888
|
-
import { homedir as
|
|
435906
|
+
import { homedir as homedir33, platform as platform3 } from "os";
|
|
435889
435907
|
import { dirname as dirname59, join as join125 } from "path";
|
|
435890
435908
|
import { pathToFileURL as pathToFileURL8 } from "url";
|
|
435891
435909
|
function isVSCodeRemoteSSH() {
|
|
@@ -436019,7 +436037,7 @@ async function installBindingsForVSCodeTerminal(editor = "VSCode", theme2) {
|
|
|
436019
436037
|
]`)}${EOL6}`;
|
|
436020
436038
|
}
|
|
436021
436039
|
const editorDir = editor === "VSCode" ? "Code" : editor;
|
|
436022
|
-
const userDirPath = join125(
|
|
436040
|
+
const userDirPath = join125(homedir33(), platform3() === "win32" ? join125("AppData", "Roaming", editorDir, "User") : platform3() === "darwin" ? join125("Library", "Application Support", editorDir, "User") : join125(".config", editorDir, "User"));
|
|
436023
436041
|
const keybindingsPath = join125(userDirPath, "keybindings.json");
|
|
436024
436042
|
try {
|
|
436025
436043
|
await mkdir31(userDirPath, {
|
|
@@ -436162,7 +436180,7 @@ chars = "\\u001B\\r"`;
|
|
|
436162
436180
|
if (xdgConfigHome) {
|
|
436163
436181
|
configPaths.push(join125(xdgConfigHome, "alacritty", "alacritty.toml"));
|
|
436164
436182
|
} else {
|
|
436165
|
-
configPaths.push(join125(
|
|
436183
|
+
configPaths.push(join125(homedir33(), ".config", "alacritty", "alacritty.toml"));
|
|
436166
436184
|
}
|
|
436167
436185
|
if (platform3() === "win32") {
|
|
436168
436186
|
const appData = process.env.APPDATA;
|
|
@@ -436223,7 +436241,7 @@ chars = "\\u001B\\r"`;
|
|
|
436223
436241
|
}
|
|
436224
436242
|
}
|
|
436225
436243
|
async function installBindingsForZed(theme2) {
|
|
436226
|
-
const zedDir = join125(
|
|
436244
|
+
const zedDir = join125(homedir33(), ".config", "zed");
|
|
436227
436245
|
const keymapPath = join125(zedDir, "keymap.json");
|
|
436228
436246
|
try {
|
|
436229
436247
|
await mkdir31(zedDir, {
|
|
@@ -440209,10 +440227,10 @@ var cd_exports = {};
|
|
|
440209
440227
|
__export(cd_exports, {
|
|
440210
440228
|
call: () => call7
|
|
440211
440229
|
});
|
|
440212
|
-
import { homedir as
|
|
440230
|
+
import { homedir as homedir34 } from "os";
|
|
440213
440231
|
import { dirname as dirname61, isAbsolute as isAbsolute29, join as join129, resolve as resolve39 } from "path";
|
|
440214
440232
|
function checkTargetDirectory(input) {
|
|
440215
|
-
const expanded = input === "~" ?
|
|
440233
|
+
const expanded = input === "~" ? homedir34() : input.startsWith("~/") ? join129(homedir34(), input.slice(2)) : input;
|
|
440216
440234
|
const resolved = isAbsolute29(expanded) ? expanded : resolve39(getCwd(), expanded);
|
|
440217
440235
|
const fs15 = getFsImplementation();
|
|
440218
440236
|
let isDirectory;
|
|
@@ -450734,7 +450752,7 @@ function Settings({
|
|
|
450734
450752
|
var import_react113, import_jsx_runtime192;
|
|
450735
450753
|
var init_cmd_config = __esm({
|
|
450736
450754
|
"build-src/src/sema/overrides/cmd-config.tsx"() {
|
|
450737
|
-
import_react113 = __toESM(require_react());
|
|
450755
|
+
import_react113 = __toESM(require_react(), 1);
|
|
450738
450756
|
init_useKeybinding();
|
|
450739
450757
|
init_useExitOnCtrlCDWithKeybindings();
|
|
450740
450758
|
init_useTerminalSize();
|
|
@@ -450745,7 +450763,7 @@ var init_cmd_config = __esm({
|
|
|
450745
450763
|
init_Config();
|
|
450746
450764
|
init_settings_usage();
|
|
450747
450765
|
init_Stats();
|
|
450748
|
-
import_jsx_runtime192 = __toESM(require_jsx_runtime());
|
|
450766
|
+
import_jsx_runtime192 = __toESM(require_jsx_runtime(), 1);
|
|
450749
450767
|
}
|
|
450750
450768
|
});
|
|
450751
450769
|
|
|
@@ -453947,10 +453965,10 @@ var init_promptEditor = __esm({
|
|
|
453947
453965
|
});
|
|
453948
453966
|
|
|
453949
453967
|
// build-src/src/components/memory/MemoryUpdateNotification.tsx
|
|
453950
|
-
import { homedir as
|
|
453968
|
+
import { homedir as homedir35 } from "os";
|
|
453951
453969
|
import { relative as relative23 } from "path";
|
|
453952
453970
|
function getRelativeMemoryPath(path27) {
|
|
453953
|
-
const homeDir =
|
|
453971
|
+
const homeDir = homedir35();
|
|
453954
453972
|
const cwd5 = getCwd();
|
|
453955
453973
|
const relativeToHome = path27.startsWith(homeDir) ? "~" + path27.slice(homeDir.length) : null;
|
|
453956
453974
|
const relativeToCwd = path27.startsWith(cwd5) ? "./" + relative23(cwd5, path27) : null;
|
|
@@ -463061,7 +463079,7 @@ var init_pluginStartupCheck = __esm({
|
|
|
463061
463079
|
});
|
|
463062
463080
|
|
|
463063
463081
|
// build-src/src/utils/plugins/parseMarketplaceInput.ts
|
|
463064
|
-
import { homedir as
|
|
463082
|
+
import { homedir as homedir36 } from "os";
|
|
463065
463083
|
import { resolve as resolve41 } from "path";
|
|
463066
463084
|
async function parseMarketplaceInput(input) {
|
|
463067
463085
|
const trimmed = input.trim();
|
|
@@ -463100,7 +463118,7 @@ async function parseMarketplaceInput(input) {
|
|
|
463100
463118
|
const isWindowsPath = isWindows2 && (trimmed.startsWith(".\\") || trimmed.startsWith("..\\") || /^[a-zA-Z]:[/\\]/.test(trimmed));
|
|
463101
463119
|
if (trimmed.startsWith("./") || trimmed.startsWith("../") || trimmed.startsWith("/") || trimmed.startsWith("~") || isWindowsPath) {
|
|
463102
463120
|
const resolvedPath = resolve41(
|
|
463103
|
-
trimmed.startsWith("~") ? trimmed.replace(/^~/,
|
|
463121
|
+
trimmed.startsWith("~") ? trimmed.replace(/^~/, homedir36()) : trimmed
|
|
463104
463122
|
);
|
|
463105
463123
|
let stats3;
|
|
463106
463124
|
try {
|
|
@@ -478208,7 +478226,7 @@ var init_referral = __esm({
|
|
|
478208
478226
|
});
|
|
478209
478227
|
|
|
478210
478228
|
// build-src/src/components/LogoV2/feedConfigs.tsx
|
|
478211
|
-
import { homedir as
|
|
478229
|
+
import { homedir as homedir37 } from "os";
|
|
478212
478230
|
function createSemaGetStartedFeed() {
|
|
478213
478231
|
return {
|
|
478214
478232
|
title: "Get started with Sema",
|
|
@@ -478255,7 +478273,7 @@ function createProjectOnboardingFeed(steps) {
|
|
|
478255
478273
|
text: `${checkmark}${text2}`
|
|
478256
478274
|
};
|
|
478257
478275
|
});
|
|
478258
|
-
const warningText = getCwd() ===
|
|
478276
|
+
const warningText = getCwd() === homedir37() ? "Note: sema is running in your home directory \u2014 launch it inside a project directory for the best experience." : void 0;
|
|
478259
478277
|
if (warningText) {
|
|
478260
478278
|
lines.push({
|
|
478261
478279
|
text: warningText
|
|
@@ -479612,8 +479630,8 @@ var init_sema_brand = __esm({
|
|
|
479612
479630
|
"Slash-command gating wired to the fleet capability handshake"
|
|
479613
479631
|
]
|
|
479614
479632
|
},
|
|
479615
|
-
productVersion: "1.0.
|
|
479616
|
-
announcement: "sema 1.0.
|
|
479633
|
+
productVersion: "1.0.29",
|
|
479634
|
+
announcement: "sema 1.0.29 \u2014 nine rarely-used tools (Glob, Grep, LSP, RepoMap, Monitor, Now, AgentTranscript, ReadToolResult, ReportBlocked) now load lazily by default: their schemas stay out of your prompt (about 2.5K tokens leaner) and the model fetches any of them on demand via ToolSearch. Opt out with SEMA_DEFER_LOWFREQ=0."
|
|
479617
479635
|
};
|
|
479618
479636
|
}
|
|
479619
479637
|
});
|
|
@@ -482547,8 +482565,8 @@ var require_sema_brand = __commonJS({
|
|
|
482547
482565
|
"Slash-command gating wired to the fleet capability handshake"
|
|
482548
482566
|
]
|
|
482549
482567
|
},
|
|
482550
|
-
productVersion: "1.0.
|
|
482551
|
-
announcement: "sema 1.0.
|
|
482568
|
+
productVersion: "1.0.29",
|
|
482569
|
+
announcement: "sema 1.0.29 \u2014 nine rarely-used tools (Glob, Grep, LSP, RepoMap, Monitor, Now, AgentTranscript, ReadToolResult, ReportBlocked) now load lazily by default: their schemas stay out of your prompt (about 2.5K tokens leaner) and the model fetches any of them on demand via ToolSearch. Opt out with SEMA_DEFER_LOWFREQ=0."
|
|
482552
482570
|
};
|
|
482553
482571
|
}
|
|
482554
482572
|
});
|
|
@@ -483675,7 +483693,7 @@ __export(importSessions_exports, {
|
|
|
483675
483693
|
importSessionsHandler: () => importSessionsHandler,
|
|
483676
483694
|
listImportable: () => listImportable
|
|
483677
483695
|
});
|
|
483678
|
-
import { homedir as
|
|
483696
|
+
import { homedir as homedir38 } from "node:os";
|
|
483679
483697
|
import {
|
|
483680
483698
|
copyFileSync as copyFileSync4,
|
|
483681
483699
|
existsSync as existsSync18,
|
|
@@ -483807,7 +483825,7 @@ function copySession(item, destDir) {
|
|
|
483807
483825
|
async function importSessionsHandler(opts) {
|
|
483808
483826
|
const cwd5 = canonicalCwd();
|
|
483809
483827
|
const slug = sanitizePath(cwd5);
|
|
483810
|
-
const srcDir = opts.from ? opts.from : join146(
|
|
483828
|
+
const srcDir = opts.from ? opts.from : join146(homedir38(), LEGACY_DIR, "projects", slug);
|
|
483811
483829
|
const destDir = join146(getProjectsDir(), slug);
|
|
483812
483830
|
let srcReal = srcDir;
|
|
483813
483831
|
try {
|
|
@@ -483929,7 +483947,7 @@ var init_importSessions = __esm({
|
|
|
483929
483947
|
|
|
483930
483948
|
// build-src/src/sema/ccImport.ts
|
|
483931
483949
|
import { existsSync as existsSync19, mkdirSync as mkdirSync16, realpathSync as realpathSync8 } from "node:fs";
|
|
483932
|
-
import { homedir as
|
|
483950
|
+
import { homedir as homedir39 } from "node:os";
|
|
483933
483951
|
import { join as join147 } from "node:path";
|
|
483934
483952
|
function markCcImportLog(log2) {
|
|
483935
483953
|
;
|
|
@@ -483950,7 +483968,7 @@ function canonicalize2(p) {
|
|
|
483950
483968
|
}
|
|
483951
483969
|
}
|
|
483952
483970
|
function ccProjectsDirFor(cwd5) {
|
|
483953
|
-
const base = join147(
|
|
483971
|
+
const base = join147(homedir39(), LEGACY_DIR2, "projects");
|
|
483954
483972
|
for (const candidate of [cwd5, canonicalize2(cwd5)]) {
|
|
483955
483973
|
const dir = join147(base, sanitizePath(candidate));
|
|
483956
483974
|
if (existsSync19(dir)) return dir;
|
|
@@ -510983,7 +511001,7 @@ var init_setupPortable = __esm({
|
|
|
510983
511001
|
|
|
510984
511002
|
// build-src/src/utils/claudeInChrome/setup.ts
|
|
510985
511003
|
import { chmod as chmod12, mkdir as mkdir41, readFile as readFile47, writeFile as writeFile44 } from "fs/promises";
|
|
510986
|
-
import { homedir as
|
|
511004
|
+
import { homedir as homedir40 } from "os";
|
|
510987
511005
|
import { join as join155 } from "path";
|
|
510988
511006
|
import { fileURLToPath as fileURLToPath8 } from "url";
|
|
510989
511007
|
function shouldEnableClaudeInChrome(chromeFlag) {
|
|
@@ -511081,7 +511099,7 @@ function setupClaudeInChrome() {
|
|
|
511081
511099
|
function getNativeMessagingHostsDirs() {
|
|
511082
511100
|
const platform4 = getPlatform();
|
|
511083
511101
|
if (platform4 === "windows") {
|
|
511084
|
-
const home =
|
|
511102
|
+
const home = homedir40();
|
|
511085
511103
|
const appData = process.env.APPDATA || join155(home, "AppData", "Local");
|
|
511086
511104
|
return [join155(appData, "Sema", "ChromeNativeHost")];
|
|
511087
511105
|
}
|
|
@@ -521533,7 +521551,7 @@ var init_agentMemory = __esm({
|
|
|
521533
521551
|
|
|
521534
521552
|
// build-src/src/utils/permissions/filesystem.ts
|
|
521535
521553
|
import { randomBytes as randomBytes20 } from "crypto";
|
|
521536
|
-
import { homedir as
|
|
521554
|
+
import { homedir as homedir41, tmpdir as tmpdir14 } from "os";
|
|
521537
521555
|
import { join as join163, normalize as normalize17, posix as posix8, sep as sep34 } from "path";
|
|
521538
521556
|
function normalizeCaseForComparison2(path27) {
|
|
521539
521557
|
return path27.toLowerCase();
|
|
@@ -521547,7 +521565,7 @@ function getClaudeSkillScope(filePath) {
|
|
|
521547
521565
|
prefix: "/.sema/skills/"
|
|
521548
521566
|
},
|
|
521549
521567
|
{
|
|
521550
|
-
dir: expandPath(join163(
|
|
521568
|
+
dir: expandPath(join163(homedir41(), ".sema", "skills")),
|
|
521551
521569
|
prefix: "~/.sema/skills/"
|
|
521552
521570
|
}
|
|
521553
521571
|
];
|
|
@@ -521877,7 +521895,7 @@ function patternWithRoot(pattern, source) {
|
|
|
521877
521895
|
} else if (pattern.startsWith(`~${DIR_SEP}`)) {
|
|
521878
521896
|
return {
|
|
521879
521897
|
relativePattern: pattern.slice(1),
|
|
521880
|
-
root:
|
|
521898
|
+
root: homedir41().normalize("NFC")
|
|
521881
521899
|
};
|
|
521882
521900
|
} else if (pattern.startsWith(DIR_SEP)) {
|
|
521883
521901
|
return {
|
|
@@ -534386,7 +534404,7 @@ __export(markdownConfigLoader_exports, {
|
|
|
534386
534404
|
});
|
|
534387
534405
|
import { statSync as statSync11 } from "fs";
|
|
534388
534406
|
import { lstat as lstat6, readdir as readdir31, readFile as readFile51, realpath as realpath12, stat as stat45 } from "fs/promises";
|
|
534389
|
-
import { homedir as
|
|
534407
|
+
import { homedir as homedir42 } from "os";
|
|
534390
534408
|
import { dirname as dirname73, join as join166, resolve as resolve44, sep as sep35 } from "path";
|
|
534391
534409
|
function extractDescriptionFromMarkdown(content, defaultDescription = "Custom item") {
|
|
534392
534410
|
const lines = content.split("\n");
|
|
@@ -534470,7 +534488,7 @@ function resolveStopBoundary(cwd5) {
|
|
|
534470
534488
|
return cwdGitRoot;
|
|
534471
534489
|
}
|
|
534472
534490
|
function getProjectDirsUpToHome(subdir, cwd5) {
|
|
534473
|
-
const home = resolve44(
|
|
534491
|
+
const home = resolve44(homedir42()).normalize("NFC");
|
|
534474
534492
|
const gitRoot = resolveStopBoundary(cwd5);
|
|
534475
534493
|
let current3 = resolve44(cwd5);
|
|
534476
534494
|
const dirs = [];
|
|
@@ -562875,7 +562893,7 @@ __export(upstreamproxy_exports, {
|
|
|
562875
562893
|
resetUpstreamProxyForTests: () => resetUpstreamProxyForTests
|
|
562876
562894
|
});
|
|
562877
562895
|
import { mkdir as mkdir47, readFile as readFile52, unlink as unlink26, writeFile as writeFile47 } from "fs/promises";
|
|
562878
|
-
import { homedir as
|
|
562896
|
+
import { homedir as homedir43 } from "os";
|
|
562879
562897
|
import { join as join169 } from "path";
|
|
562880
562898
|
async function initUpstreamProxy(opts) {
|
|
562881
562899
|
if (!isEnvTruthy(process.env.SEMA_CODE_REMOTE)) {
|
|
@@ -562900,7 +562918,7 @@ async function initUpstreamProxy(opts) {
|
|
|
562900
562918
|
}
|
|
562901
562919
|
setNonDumpable();
|
|
562902
562920
|
const baseUrl = opts?.ccrBaseUrl ?? process.env.ANTHROPIC_BASE_URL ?? "https://api.anthropic.com";
|
|
562903
|
-
const caBundlePath = opts?.caBundlePath ?? join169(
|
|
562921
|
+
const caBundlePath = opts?.caBundlePath ?? join169(homedir43(), ".ccr", "ca-bundle.crt");
|
|
562904
562922
|
const caOk = await downloadCaBundle(
|
|
562905
562923
|
baseUrl,
|
|
562906
562924
|
opts?.systemCaPath ?? SYSTEM_CA_BUNDLE,
|
|
@@ -574262,7 +574280,7 @@ var init_ShowInIDEPrompt = __esm({
|
|
|
574262
574280
|
});
|
|
574263
574281
|
|
|
574264
574282
|
// build-src/src/components/permissions/FilePermissionDialog/permissionOptions.tsx
|
|
574265
|
-
import { homedir as
|
|
574283
|
+
import { homedir as homedir44 } from "os";
|
|
574266
574284
|
import { basename as basename53, join as join170, sep as sep36 } from "path";
|
|
574267
574285
|
function isInClaudeFolder(filePath) {
|
|
574268
574286
|
const absolutePath = expandPath(filePath);
|
|
@@ -574274,7 +574292,7 @@ function isInClaudeFolder(filePath) {
|
|
|
574274
574292
|
}
|
|
574275
574293
|
function isInGlobalClaudeFolder(filePath) {
|
|
574276
574294
|
const absolutePath = expandPath(filePath);
|
|
574277
|
-
const globalClaudeFolderPath = join170(
|
|
574295
|
+
const globalClaudeFolderPath = join170(homedir44(), ".sema");
|
|
574278
574296
|
const normalizedAbsolutePath = normalizeCaseForComparison2(absolutePath);
|
|
574279
574297
|
const normalizedGlobalClaudeFolderPath = normalizeCaseForComparison2(globalClaudeFolderPath);
|
|
574280
574298
|
return normalizedAbsolutePath.startsWith(normalizedGlobalClaudeFolderPath + sep36.toLowerCase()) || normalizedAbsolutePath.startsWith(normalizedGlobalClaudeFolderPath + "/");
|
|
@@ -582295,7 +582313,7 @@ var init_chrome_context_window_warning = __esm({
|
|
|
582295
582313
|
init_autoCompact();
|
|
582296
582314
|
init_compactWarningHook();
|
|
582297
582315
|
init_contextWindowUpgradeCheck();
|
|
582298
|
-
import_jsx_runtime411 = __toESM(require_jsx_runtime()
|
|
582316
|
+
import_jsx_runtime411 = __toESM(require_jsx_runtime());
|
|
582299
582317
|
}
|
|
582300
582318
|
});
|
|
582301
582319
|
|
|
@@ -596943,7 +596961,7 @@ var init_autoDream = __esm({
|
|
|
596943
596961
|
|
|
596944
596962
|
// build-src/src/utils/cleanup.ts
|
|
596945
596963
|
import * as fs14 from "fs/promises";
|
|
596946
|
-
import { homedir as
|
|
596964
|
+
import { homedir as homedir45 } from "os";
|
|
596947
596965
|
import { join as join171 } from "path";
|
|
596948
596966
|
function getCleanupPeriodDays() {
|
|
596949
596967
|
const settings2 = getSettings_DEPRECATED() || {};
|
|
@@ -597362,7 +597380,7 @@ async function cleanupNpmCacheForAnthropicPackages() {
|
|
|
597362
597380
|
return;
|
|
597363
597381
|
}
|
|
597364
597382
|
logForDebugging("npm cache cleanup: starting");
|
|
597365
|
-
const npmCachePath = join171(
|
|
597383
|
+
const npmCachePath = join171(homedir45(), ".npm", "_cacache");
|
|
597366
597384
|
const NPM_CACHE_RETENTION_COUNT = 5;
|
|
597367
597385
|
const startTime = Date.now();
|
|
597368
597386
|
try {
|
|
@@ -624152,7 +624170,7 @@ var init_sessionMemory = __esm({
|
|
|
624152
624170
|
|
|
624153
624171
|
// build-src/src/utils/iTermBackup.ts
|
|
624154
624172
|
import { copyFile as copyFile11, stat as stat49 } from "fs/promises";
|
|
624155
|
-
import { homedir as
|
|
624173
|
+
import { homedir as homedir46 } from "os";
|
|
624156
624174
|
import { join as join181 } from "path";
|
|
624157
624175
|
function markITerm2SetupComplete() {
|
|
624158
624176
|
saveGlobalConfig((current3) => ({
|
|
@@ -624169,7 +624187,7 @@ function getIterm2RecoveryInfo() {
|
|
|
624169
624187
|
}
|
|
624170
624188
|
function getITerm2PlistPath() {
|
|
624171
624189
|
return join181(
|
|
624172
|
-
|
|
624190
|
+
homedir46(),
|
|
624173
624191
|
"Library",
|
|
624174
624192
|
"Preferences",
|
|
624175
624193
|
"com.googlecode.iterm2.plist"
|
|
@@ -638534,7 +638552,7 @@ __export(claudeDesktop_exports, {
|
|
|
638534
638552
|
readClaudeDesktopMcpServers: () => readClaudeDesktopMcpServers
|
|
638535
638553
|
});
|
|
638536
638554
|
import { readdir as readdir32, readFile as readFile57, stat as stat52 } from "fs/promises";
|
|
638537
|
-
import { homedir as
|
|
638555
|
+
import { homedir as homedir47 } from "os";
|
|
638538
638556
|
import { join as join186 } from "path";
|
|
638539
638557
|
async function getClaudeDesktopConfigPath() {
|
|
638540
638558
|
const platform4 = getPlatform();
|
|
@@ -638545,7 +638563,7 @@ async function getClaudeDesktopConfigPath() {
|
|
|
638545
638563
|
}
|
|
638546
638564
|
if (platform4 === "macos") {
|
|
638547
638565
|
return join186(
|
|
638548
|
-
|
|
638566
|
+
homedir47(),
|
|
638549
638567
|
"Library",
|
|
638550
638568
|
"Application Support",
|
|
638551
638569
|
"Claude",
|
|
@@ -640764,7 +640782,7 @@ __export(tlsTrust_exports, {
|
|
|
640764
640782
|
import { execFileSync as execFileSync5 } from "node:child_process";
|
|
640765
640783
|
import { X509Certificate } from "node:crypto";
|
|
640766
640784
|
import { existsSync as existsSync26, mkdirSync as mkdirSync19, readFileSync as readFileSync39, writeFileSync as writeFileSync18 } from "node:fs";
|
|
640767
|
-
import { homedir as
|
|
640785
|
+
import { homedir as homedir48 } from "node:os";
|
|
640768
640786
|
import { join as join187 } from "node:path";
|
|
640769
640787
|
function isCertError(detail) {
|
|
640770
640788
|
return /UNABLE_TO_GET_ISSUER_CERT|SELF_SIGNED_CERT|UNABLE_TO_VERIFY_LEAF|CERT_UNTRUSTED|DEPTH_ZERO_SELF_SIGNED|CERT_HAS_EXPIRED|ERR_TLS_CERT/i.test(
|
|
@@ -640859,7 +640877,7 @@ async function applySystemTlsTrust() {
|
|
|
640859
640877
|
}
|
|
640860
640878
|
const kept = filterCaCertificates(pem);
|
|
640861
640879
|
if (kept.length === 0) return false;
|
|
640862
|
-
mkdirSync19(join187(
|
|
640880
|
+
mkdirSync19(join187(homedir48(), ".sema"), { recursive: true });
|
|
640863
640881
|
writeFileSync18(CA_PATH, kept.join("\n") + "\n");
|
|
640864
640882
|
await injectDispatcher(kept);
|
|
640865
640883
|
return true;
|
|
@@ -640870,7 +640888,7 @@ async function applySystemTlsTrust() {
|
|
|
640870
640888
|
var CA_PATH, builtinRootBodies;
|
|
640871
640889
|
var init_tlsTrust = __esm({
|
|
640872
640890
|
"build-src/src/sema/tlsTrust.ts"() {
|
|
640873
|
-
CA_PATH = join187(
|
|
640891
|
+
CA_PATH = join187(homedir48(), ".sema", "extra-ca.pem");
|
|
640874
640892
|
}
|
|
640875
640893
|
});
|
|
640876
640894
|
|
|
@@ -645993,10 +646011,10 @@ var install_exports = {};
|
|
|
645993
646011
|
__export(install_exports, {
|
|
645994
646012
|
install: () => install
|
|
645995
646013
|
});
|
|
645996
|
-
import { homedir as
|
|
646014
|
+
import { homedir as homedir49 } from "node:os";
|
|
645997
646015
|
function getInstallationPath2(realPath) {
|
|
645998
646016
|
const isWindows2 = env3.platform === "win32";
|
|
645999
|
-
const homeDir =
|
|
646017
|
+
const homeDir = homedir49();
|
|
646000
646018
|
if (isWindows2) {
|
|
646001
646019
|
return realPath.replace(/\//g, "\\");
|
|
646002
646020
|
}
|
|
@@ -647184,7 +647202,7 @@ var configSync_exports = {};
|
|
|
647184
647202
|
__export(configSync_exports, {
|
|
647185
647203
|
configSyncHandler: () => configSyncHandler
|
|
647186
647204
|
});
|
|
647187
|
-
import { homedir as
|
|
647205
|
+
import { homedir as homedir50 } from "node:os";
|
|
647188
647206
|
import {
|
|
647189
647207
|
copyFileSync as copyFileSync6,
|
|
647190
647208
|
existsSync as existsSync30,
|
|
@@ -647195,7 +647213,7 @@ import {
|
|
|
647195
647213
|
} from "node:fs";
|
|
647196
647214
|
import { dirname as dirname85, join as join193, relative as relative36 } from "node:path";
|
|
647197
647215
|
function display(p) {
|
|
647198
|
-
const home =
|
|
647216
|
+
const home = homedir50();
|
|
647199
647217
|
return p.startsWith(home) ? "~" + p.slice(home.length) : p;
|
|
647200
647218
|
}
|
|
647201
647219
|
function filesEqual(a, b3) {
|
|
@@ -647425,7 +647443,7 @@ async function configSyncHandler(opts) {
|
|
|
647425
647443
|
const dryTag = opts.dryRun ? source_default.yellow(" [dry-run]") : "";
|
|
647426
647444
|
process.stdout.write(source_default.bold(`sema config sync${dryTag}
|
|
647427
647445
|
`));
|
|
647428
|
-
const userSrc = join193(
|
|
647446
|
+
const userSrc = join193(homedir50(), LEGACY_DIR3);
|
|
647429
647447
|
const userDest = getClaudeConfigHomeDir();
|
|
647430
647448
|
process.stdout.write(
|
|
647431
647449
|
source_default.bold(`
|
|
@@ -647445,7 +647463,7 @@ user: ${display(userSrc)} \u2192 ${display(userDest)}
|
|
|
647445
647463
|
opts,
|
|
647446
647464
|
report
|
|
647447
647465
|
);
|
|
647448
|
-
const globalSrc = join193(
|
|
647466
|
+
const globalSrc = join193(homedir50(), LEGACY_GLOBAL_FILE);
|
|
647449
647467
|
const globalDest = getGlobalClaudeFile();
|
|
647450
647468
|
if (existsSync30(globalSrc) && globalSrc !== globalDest) {
|
|
647451
647469
|
syncJsonFile(globalSrc, globalDest, display(globalDest), opts, report);
|
|
@@ -647560,7 +647578,7 @@ __export(importCredentials_exports, {
|
|
|
647560
647578
|
});
|
|
647561
647579
|
import { execFileSync as execFileSync7 } from "node:child_process";
|
|
647562
647580
|
import { readFileSync as readFileSync44 } from "node:fs";
|
|
647563
|
-
import { homedir as
|
|
647581
|
+
import { homedir as homedir51, userInfo as userInfo4 } from "node:os";
|
|
647564
647582
|
import { join as join194 } from "node:path";
|
|
647565
647583
|
function readCcKeychain() {
|
|
647566
647584
|
if (process.platform !== "darwin") return null;
|
|
@@ -647583,7 +647601,7 @@ function readCcFile(ccRoot) {
|
|
|
647583
647601
|
}
|
|
647584
647602
|
}
|
|
647585
647603
|
async function importCredentialsHandler(opts) {
|
|
647586
|
-
const ccRoot = opts.from ?? join194(
|
|
647604
|
+
const ccRoot = opts.from ?? join194(homedir51(), LEGACY_DIR4);
|
|
647587
647605
|
const fromKeychain = readCcKeychain();
|
|
647588
647606
|
const fromFile = readCcFile(ccRoot);
|
|
647589
647607
|
if (!fromKeychain && !fromFile) {
|
|
@@ -647660,7 +647678,7 @@ var init_importCredentials = __esm({
|
|
|
647660
647678
|
|
|
647661
647679
|
// build-src/src/sema/config/mcpChannels.ts
|
|
647662
647680
|
import { readFileSync as readFileSync45 } from "node:fs";
|
|
647663
|
-
import { homedir as
|
|
647681
|
+
import { homedir as homedir52 } from "node:os";
|
|
647664
647682
|
import { join as join195 } from "node:path";
|
|
647665
647683
|
function mcpTransportOf(config4) {
|
|
647666
647684
|
const c2 = config4;
|
|
@@ -647715,14 +647733,14 @@ function externalEntryToConfig(e) {
|
|
|
647715
647733
|
}
|
|
647716
647734
|
function detectMcpChannels() {
|
|
647717
647735
|
const out6 = [];
|
|
647718
|
-
const ccRoot = process.env.SEMA_CC_ROOT || join195(
|
|
647736
|
+
const ccRoot = process.env.SEMA_CC_ROOT || join195(homedir52(), CC_DIR4);
|
|
647719
647737
|
const merged = {};
|
|
647720
647738
|
const settings2 = readJsoncSafe(join195(ccRoot, "settings.json"));
|
|
647721
647739
|
const settingsServers = settings2?.mcpServers;
|
|
647722
647740
|
if (settingsServers && typeof settingsServers === "object") {
|
|
647723
647741
|
Object.assign(merged, settingsServers);
|
|
647724
647742
|
}
|
|
647725
|
-
const globalDoc = readJsoncSafe(join195(
|
|
647743
|
+
const globalDoc = readJsoncSafe(join195(homedir52(), CC_GLOBAL_FILE2));
|
|
647726
647744
|
const globalServers = globalDoc?.mcpServers;
|
|
647727
647745
|
if (globalServers && typeof globalServers === "object") {
|
|
647728
647746
|
Object.assign(merged, globalServers);
|
|
@@ -649104,7 +649122,7 @@ var init_SkillsHub = __esm({
|
|
|
649104
649122
|
|
|
649105
649123
|
// build-src/src/sema/config/PluginsHub.tsx
|
|
649106
649124
|
import { readFileSync as readFileSync48 } from "node:fs";
|
|
649107
|
-
import { homedir as
|
|
649125
|
+
import { homedir as homedir53 } from "node:os";
|
|
649108
649126
|
import { join as join198 } from "node:path";
|
|
649109
649127
|
function listInstalledPluginRows() {
|
|
649110
649128
|
let plugins = {};
|
|
@@ -649138,7 +649156,7 @@ function readJsonSafe(path27) {
|
|
|
649138
649156
|
}
|
|
649139
649157
|
}
|
|
649140
649158
|
function detectCcPlugins() {
|
|
649141
|
-
const ccRoot = process.env.SEMA_CC_ROOT || join198(
|
|
649159
|
+
const ccRoot = process.env.SEMA_CC_ROOT || join198(homedir53(), CC_DIR5);
|
|
649142
649160
|
const byId = /* @__PURE__ */ new Map();
|
|
649143
649161
|
const installedDoc = readJsonSafe(join198(ccRoot, "plugins", "installed_plugins.json"));
|
|
649144
649162
|
const pluginsField = installedDoc?.plugins;
|
|
@@ -654189,7 +654207,7 @@ Auth: unix socket -R \u2192 local proxy`, "info");
|
|
|
654189
654207
|
pendingHookMessages
|
|
654190
654208
|
}, renderAndRun);
|
|
654191
654209
|
}
|
|
654192
|
-
}).version("sema 1.0.
|
|
654210
|
+
}).version("sema 1.0.29", "-v, --version", "Output the version number");
|
|
654193
654211
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
654194
654212
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
654195
654213
|
if (canUserConfigureAdvisor()) {
|
|
@@ -656798,7 +656816,7 @@ var TrustDialog_exports = {};
|
|
|
656798
656816
|
__export(TrustDialog_exports, {
|
|
656799
656817
|
TrustDialog: () => TrustDialog
|
|
656800
656818
|
});
|
|
656801
|
-
import { homedir as
|
|
656819
|
+
import { homedir as homedir54 } from "os";
|
|
656802
656820
|
function TrustDialog(t0) {
|
|
656803
656821
|
const $3 = (0, import_compiler_runtime356.c)(33);
|
|
656804
656822
|
const {
|
|
@@ -656909,7 +656927,7 @@ function TrustDialog(t0) {
|
|
|
656909
656927
|
let t13;
|
|
656910
656928
|
if ($3[13] !== hasAnyBashExecution) {
|
|
656911
656929
|
t12 = () => {
|
|
656912
|
-
const isHomeDir =
|
|
656930
|
+
const isHomeDir = homedir54() === getCwd();
|
|
656913
656931
|
logEvent("tengu_trust_dialog_shown", {
|
|
656914
656932
|
isHomeDir,
|
|
656915
656933
|
hasMcpServers,
|
|
@@ -656938,7 +656956,7 @@ function TrustDialog(t0) {
|
|
|
656938
656956
|
gracefulShutdownSync(1);
|
|
656939
656957
|
return;
|
|
656940
656958
|
}
|
|
656941
|
-
const isHomeDir_0 =
|
|
656959
|
+
const isHomeDir_0 = homedir54() === getCwd();
|
|
656942
656960
|
logEvent("tengu_trust_dialog_accept", {
|
|
656943
656961
|
isHomeDir: isHomeDir_0,
|
|
656944
656962
|
hasMcpServers,
|
|
@@ -657692,15 +657710,15 @@ __export(claudeImportHint_exports, {
|
|
|
657692
657710
|
shouldShowClaudeImportHint: () => shouldShowClaudeImportHint
|
|
657693
657711
|
});
|
|
657694
657712
|
import { existsSync as existsSync32 } from "node:fs";
|
|
657695
|
-
import { homedir as
|
|
657713
|
+
import { homedir as homedir55 } from "node:os";
|
|
657696
657714
|
import { join as join199 } from "node:path";
|
|
657697
657715
|
function shouldShowClaudeImportHint() {
|
|
657698
657716
|
try {
|
|
657699
657717
|
const claudeEnvKey = "CLAUDE_CONFIG_DIR";
|
|
657700
657718
|
if (process.env.SEMA_CONFIG_DIR || process.env[claudeEnvKey]) return false;
|
|
657701
|
-
const legacyDir = join199(
|
|
657719
|
+
const legacyDir = join199(homedir55(), ".claude");
|
|
657702
657720
|
if (!existsSync32(legacyDir)) return false;
|
|
657703
|
-
if (existsSync32(join199(
|
|
657721
|
+
if (existsSync32(join199(homedir55(), ".sema"))) return false;
|
|
657704
657722
|
if (getGlobalConfig().hasSeenClaudeImportHint) return false;
|
|
657705
657723
|
return true;
|
|
657706
657724
|
} catch {
|
|
@@ -658138,9 +658156,9 @@ var init_firePrompt = __esm({
|
|
|
658138
658156
|
|
|
658139
658157
|
// build-src/src/sema/scheduler/schedulerDaemonWire.ts
|
|
658140
658158
|
import { join as join201 } from "node:path";
|
|
658141
|
-
import { homedir as
|
|
658159
|
+
import { homedir as homedir56 } from "node:os";
|
|
658142
658160
|
function schedulerStorePath() {
|
|
658143
|
-
return join201(process.env.SEMA_CONFIG_DIR ?? join201(
|
|
658161
|
+
return join201(process.env.SEMA_CONFIG_DIR ?? join201(homedir56(), ".sema"), "scheduled_tasks.json");
|
|
658144
658162
|
}
|
|
658145
658163
|
function fileSchedulerStoreIO(storePath) {
|
|
658146
658164
|
return {
|
|
@@ -659609,7 +659627,7 @@ __export(mcpFill_exports, {
|
|
|
659609
659627
|
default: () => mcpFill_default,
|
|
659610
659628
|
loadCanonicalMcpClients: () => loadCanonicalMcpClients
|
|
659611
659629
|
});
|
|
659612
|
-
import { homedir as
|
|
659630
|
+
import { homedir as homedir57 } from "os";
|
|
659613
659631
|
import { readFileSync as readFileSync53 } from "fs";
|
|
659614
659632
|
function builtinDynamicConfig(command8) {
|
|
659615
659633
|
return { type: "stdio", command: command8, args: [], scope: "dynamic" };
|
|
@@ -659622,7 +659640,7 @@ function builtinDynamicClients() {
|
|
|
659622
659640
|
}));
|
|
659623
659641
|
}
|
|
659624
659642
|
function canonicalGlobalConfigFile() {
|
|
659625
|
-
const home = process.env.HOME ?? process.env.USERPROFILE ??
|
|
659643
|
+
const home = process.env.HOME ?? process.env.USERPROFILE ?? homedir57();
|
|
659626
659644
|
return `${home}/.claude.json`;
|
|
659627
659645
|
}
|
|
659628
659646
|
async function loadCanonicalMcpClients() {
|