@sema-agent/cli 1.0.111 → 1.0.112
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 +10 -10
- package/package.json +4 -4
- package/sema-main.js +27 -33
- package/sema.js +1 -1
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.112",
|
|
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.112",
|
|
10
10
|
"license": "BUSL-1.1",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@sema-agent/sdk": "9.3.0",
|
|
13
|
-
"@sema-agent/server": "7.75.
|
|
13
|
+
"@sema-agent/server": "7.75.4"
|
|
14
14
|
},
|
|
15
15
|
"bin": {
|
|
16
16
|
"sema": "sema.js"
|
|
@@ -620,9 +620,9 @@
|
|
|
620
620
|
}
|
|
621
621
|
},
|
|
622
622
|
"node_modules/@sema-agent/core": {
|
|
623
|
-
"version": "7.17.
|
|
624
|
-
"resolved": "https://registry.npmjs.org/@sema-agent/core/-/core-7.17.
|
|
625
|
-
"integrity": "sha512-
|
|
623
|
+
"version": "7.17.6",
|
|
624
|
+
"resolved": "https://registry.npmjs.org/@sema-agent/core/-/core-7.17.6.tgz",
|
|
625
|
+
"integrity": "sha512-ubDEJyOLiB8SkaS+nwVIw/Fh8xP56mpgk0rKcIJyNtWBJNQugW6yw9fHd8a9ZTT+lGJQjD+dGH+ITogXshvIqQ==",
|
|
626
626
|
"license": "BUSL-1.1",
|
|
627
627
|
"dependencies": {
|
|
628
628
|
"@modelcontextprotocol/sdk": "1.30.0",
|
|
@@ -645,12 +645,12 @@
|
|
|
645
645
|
}
|
|
646
646
|
},
|
|
647
647
|
"node_modules/@sema-agent/server": {
|
|
648
|
-
"version": "7.75.
|
|
649
|
-
"resolved": "https://registry.npmjs.org/@sema-agent/server/-/server-7.75.
|
|
650
|
-
"integrity": "sha512-
|
|
648
|
+
"version": "7.75.4",
|
|
649
|
+
"resolved": "https://registry.npmjs.org/@sema-agent/server/-/server-7.75.4.tgz",
|
|
650
|
+
"integrity": "sha512-WLh3T2s1RF4EYr+bKOa8UiVRdJHpQwaRkVDC+UgztpnRvx21Bu8lt21H8/N2K/Ub4SXetprhvtitshTUtMjFJA==",
|
|
651
651
|
"license": "BUSL-1.1",
|
|
652
652
|
"dependencies": {
|
|
653
|
-
"@sema-agent/core": "7.17.
|
|
653
|
+
"@sema-agent/core": "7.17.6",
|
|
654
654
|
"@sema-agent/settings-schema": "1.10.0",
|
|
655
655
|
"e2b": "^2.28.0",
|
|
656
656
|
"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.112",
|
|
4
4
|
"description": "Sema — your own Claude Code-grade coding agent, in the terminal.",
|
|
5
5
|
"license": "BUSL-1.1",
|
|
6
6
|
"bin": {
|
|
@@ -24,13 +24,13 @@
|
|
|
24
24
|
],
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"@sema-agent/sdk": "9.3.0",
|
|
27
|
-
"@sema-agent/server": "7.75.
|
|
27
|
+
"@sema-agent/server": "7.75.4"
|
|
28
28
|
},
|
|
29
29
|
"overrides": {
|
|
30
|
-
"@sema-agent/core": "7.17.
|
|
30
|
+
"@sema-agent/core": "7.17.6",
|
|
31
31
|
"@sema-agent/settings-schema": "1.10.0"
|
|
32
32
|
},
|
|
33
|
-
"semaEngineVersion": "server 7.75.
|
|
33
|
+
"semaEngineVersion": "server 7.75.4 / core 7.17.6 / settings-schema 1.10.0",
|
|
34
34
|
"engines": {
|
|
35
35
|
"node": ">=20.3"
|
|
36
36
|
}
|
package/sema-main.js
CHANGED
|
@@ -288762,7 +288762,7 @@ function FileEditToolUseRejectedMessage(t0) {
|
|
|
288762
288762
|
}
|
|
288763
288763
|
var import_compiler_runtime43, import_jsx_runtime53, MAX_LINES_TO_RENDER, init_FileEditToolUseRejectedMessage = __esm({
|
|
288764
288764
|
"build-src/src/components/FileEditToolUseRejectedMessage.tsx"() {
|
|
288765
|
-
import_compiler_runtime43 = __toESM(require_compiler_runtime());
|
|
288765
|
+
import_compiler_runtime43 = __toESM(require_compiler_runtime(), 1);
|
|
288766
288766
|
init_useTerminalSize();
|
|
288767
288767
|
init_cwd();
|
|
288768
288768
|
init_ink2();
|
|
@@ -288770,7 +288770,7 @@ var import_compiler_runtime43, import_jsx_runtime53, MAX_LINES_TO_RENDER, init_F
|
|
|
288770
288770
|
init_MessageResponse();
|
|
288771
288771
|
init_StructuredDiffList();
|
|
288772
288772
|
init_stringUtils();
|
|
288773
|
-
import_jsx_runtime53 = __toESM(require_jsx_runtime()), MAX_LINES_TO_RENDER = 10;
|
|
288773
|
+
import_jsx_runtime53 = __toESM(require_jsx_runtime(), 1), MAX_LINES_TO_RENDER = 10;
|
|
288774
288774
|
}
|
|
288775
288775
|
});
|
|
288776
288776
|
|
|
@@ -432049,24 +432049,21 @@ var sema_brand_default, init_sema_brand = __esm({
|
|
|
432049
432049
|
_doc: "displayName/email \u7559 null = \u8FD0\u884C\u65F6\u56DE\u9000(\u540D\u5B57\u53D6\u672C\u673A OS \u7528\u6237\u540D,\u90AE\u7BB1\u4E0D\u663E\u793A)\u3002\u522B\u70E7\u4E2A\u4EBA\u4FE1\u606F\u8FDB\u54C1\u724C\u6587\u4EF6(F-S1-1:\u65B0\u7528\u6237\u66FE\u770B\u5230 Welcome back Clay!)\u3002"
|
|
432050
432050
|
},
|
|
432051
432051
|
whatsNew: {
|
|
432052
|
-
version: "1.0.
|
|
432052
|
+
version: "1.0.112",
|
|
432053
432053
|
notes: [
|
|
432054
|
-
"The bundled engine moves from 7.
|
|
432055
|
-
"
|
|
432056
|
-
"Security
|
|
432057
|
-
"
|
|
432058
|
-
"
|
|
432059
|
-
"
|
|
432060
|
-
"
|
|
432061
|
-
"
|
|
432062
|
-
"
|
|
432063
|
-
"Approval cards no longer print `irreversibility: not annotated` when the engine does not carry that axis on the card; the segment is simply omitted, and it is never folded into `reversible`.",
|
|
432064
|
-
"`sema --model <id>` (and `--model=<id>`) now sets the session model for the interactive REPL, the same way it already did for `-p`; before, the value was silently ignored and the session started on the default model. `/model current` and the header show the requested model.",
|
|
432065
|
-
"Every value-taking root option (for example `--debug-file <path>`, `--sdk-url <url>`, `--teammate-mode <mode>`) is now recognised when starting the interactive REPL, so its value is no longer sent as the first prompt."
|
|
432054
|
+
"The bundled engine moves from 7.75.3 to 7.75.4 (core 7.17.5 to 7.17.6). The shell itself is unchanged in this release; the client SDK stays at 9.3.0 and the shared client runtime at 0.68.0.",
|
|
432055
|
+
"Read these next three together with one precondition: the execute-time recheck they describe runs only where the deployment has pinned the read roots (`READ_FACE=roots`, or `engineReadFace` in your settings). With no configuration at all the engine reports an open read face and the recheck does not run, so these three change nothing for a default single-machine setup. `sema doctor` states the engine's read-boundary posture in the engine's own words.",
|
|
432056
|
+
"Security, where read roots are pinned: a shell read that only leaves the roots once the filesystem resolves it is now refused before the command runs. Previously the check was skipped on the lane sema itself uses to run the engine, so reading through a link pointing outside the roots succeeded with no prompt. It now comes back as a failed tool call naming the resolved path and the directories that are allowed. Upgrading is recommended.",
|
|
432057
|
+
"The same refusal now also covers what a glob expands to: `cat vendor/*` is refused when a match resolves outside the roots, as is a pattern the engine cannot enumerate (an unreadable directory, or one matching more than 256 directories). As the engine reports plainly, this also refuses `ls -d .*` and `cat .*`, because `.*` includes the parent of the root.",
|
|
432058
|
+
"A `..` written after a link is now judged where the kernel actually lands: `cat link/../file` is refused when the link's target sits outside the roots, even though the path reads as if it stayed inside. A `..` that stays inside is unchanged.",
|
|
432059
|
+
"These three are refusals, not questions: they happen after the approval step, so a deployment with no approver sees them refused rather than asked. The refusal message states the fix: declare the link's target as a read root. A deployment that declares its execution environment as isolated skips the check entirely.",
|
|
432060
|
+
"Separately, and with no read-face precondition: `sed` is now judged by what its script does, not only by its flags. A script that names a file or runs a command (`r`, `R`, `w`, `W`, `e`, `s///w FILE`, `s///e`) or a script read from a file (`-f FILE`, `--file=`) asks once before the command would run, the request cannot be cleared by an allow rule, and the command does not execute. Plain `sed -i`, `s///` and `sed -n '1,10p'` are unchanged. `env -- <program>` and `coproc <command>` are handled the same way. Widening the read roots does not clear this one.",
|
|
432061
|
+
"For deployments that keep the engine's control directory and its memory directory on two different mounts: a delegated memory hold is no longer quarantined as polluted when the two cannot be renamed across. Single-mount setups are unchanged, and notes already sitting in quarantine are not brought back automatically.",
|
|
432062
|
+
"Known limitation, stated plainly: the shell read boundary is a friction floor at the text level, not containment. It does not model a file read written inside an inline interpreter script (`perl -e`, `ruby -e`, a script piped to `tclsh`), and `time -p` in front of a command can defeat the check for programs invoked through `xargs`. If a task is not trusted, run it in a sandboxed execution environment rather than relying on this floor."
|
|
432066
432063
|
]
|
|
432067
432064
|
},
|
|
432068
|
-
productVersion: "1.0.
|
|
432069
|
-
announcement: "sema 1.0.
|
|
432065
|
+
productVersion: "1.0.112",
|
|
432066
|
+
announcement: "sema 1.0.112 \u2014 engine pickup only: bundled engine 7.75.4 (core 7.17.6); the shell, client SDK 9.3.0 and client runtime 0.68.0 are unchanged. Security, for deployments that pin read roots: shell reads that only escape the roots once resolved (a link target, a glob match, a `..` after a link) are now refused before the command runs, on every lane including the default host lane. `sed` scripts that name a file or run a command are judged as scripts. Known limitation: inline interpreter scripts (perl -e, ruby -e) are not modelled yet.",
|
|
432070
432067
|
version: "1.0.91"
|
|
432071
432068
|
};
|
|
432072
432069
|
}
|
|
@@ -436399,24 +436396,21 @@ var require_sema_brand = __commonJS({
|
|
|
436399
436396
|
_doc: "displayName/email \u7559 null = \u8FD0\u884C\u65F6\u56DE\u9000(\u540D\u5B57\u53D6\u672C\u673A OS \u7528\u6237\u540D,\u90AE\u7BB1\u4E0D\u663E\u793A)\u3002\u522B\u70E7\u4E2A\u4EBA\u4FE1\u606F\u8FDB\u54C1\u724C\u6587\u4EF6(F-S1-1:\u65B0\u7528\u6237\u66FE\u770B\u5230 Welcome back Clay!)\u3002"
|
|
436400
436397
|
},
|
|
436401
436398
|
whatsNew: {
|
|
436402
|
-
version: "1.0.
|
|
436399
|
+
version: "1.0.112",
|
|
436403
436400
|
notes: [
|
|
436404
|
-
"The bundled engine moves from 7.
|
|
436405
|
-
"
|
|
436406
|
-
"Security
|
|
436407
|
-
"
|
|
436408
|
-
"
|
|
436409
|
-
"
|
|
436410
|
-
"
|
|
436411
|
-
"
|
|
436412
|
-
"
|
|
436413
|
-
"Approval cards no longer print `irreversibility: not annotated` when the engine does not carry that axis on the card; the segment is simply omitted, and it is never folded into `reversible`.",
|
|
436414
|
-
"`sema --model <id>` (and `--model=<id>`) now sets the session model for the interactive REPL, the same way it already did for `-p`; before, the value was silently ignored and the session started on the default model. `/model current` and the header show the requested model.",
|
|
436415
|
-
"Every value-taking root option (for example `--debug-file <path>`, `--sdk-url <url>`, `--teammate-mode <mode>`) is now recognised when starting the interactive REPL, so its value is no longer sent as the first prompt."
|
|
436401
|
+
"The bundled engine moves from 7.75.3 to 7.75.4 (core 7.17.5 to 7.17.6). The shell itself is unchanged in this release; the client SDK stays at 9.3.0 and the shared client runtime at 0.68.0.",
|
|
436402
|
+
"Read these next three together with one precondition: the execute-time recheck they describe runs only where the deployment has pinned the read roots (`READ_FACE=roots`, or `engineReadFace` in your settings). With no configuration at all the engine reports an open read face and the recheck does not run, so these three change nothing for a default single-machine setup. `sema doctor` states the engine's read-boundary posture in the engine's own words.",
|
|
436403
|
+
"Security, where read roots are pinned: a shell read that only leaves the roots once the filesystem resolves it is now refused before the command runs. Previously the check was skipped on the lane sema itself uses to run the engine, so reading through a link pointing outside the roots succeeded with no prompt. It now comes back as a failed tool call naming the resolved path and the directories that are allowed. Upgrading is recommended.",
|
|
436404
|
+
"The same refusal now also covers what a glob expands to: `cat vendor/*` is refused when a match resolves outside the roots, as is a pattern the engine cannot enumerate (an unreadable directory, or one matching more than 256 directories). As the engine reports plainly, this also refuses `ls -d .*` and `cat .*`, because `.*` includes the parent of the root.",
|
|
436405
|
+
"A `..` written after a link is now judged where the kernel actually lands: `cat link/../file` is refused when the link's target sits outside the roots, even though the path reads as if it stayed inside. A `..` that stays inside is unchanged.",
|
|
436406
|
+
"These three are refusals, not questions: they happen after the approval step, so a deployment with no approver sees them refused rather than asked. The refusal message states the fix: declare the link's target as a read root. A deployment that declares its execution environment as isolated skips the check entirely.",
|
|
436407
|
+
"Separately, and with no read-face precondition: `sed` is now judged by what its script does, not only by its flags. A script that names a file or runs a command (`r`, `R`, `w`, `W`, `e`, `s///w FILE`, `s///e`) or a script read from a file (`-f FILE`, `--file=`) asks once before the command would run, the request cannot be cleared by an allow rule, and the command does not execute. Plain `sed -i`, `s///` and `sed -n '1,10p'` are unchanged. `env -- <program>` and `coproc <command>` are handled the same way. Widening the read roots does not clear this one.",
|
|
436408
|
+
"For deployments that keep the engine's control directory and its memory directory on two different mounts: a delegated memory hold is no longer quarantined as polluted when the two cannot be renamed across. Single-mount setups are unchanged, and notes already sitting in quarantine are not brought back automatically.",
|
|
436409
|
+
"Known limitation, stated plainly: the shell read boundary is a friction floor at the text level, not containment. It does not model a file read written inside an inline interpreter script (`perl -e`, `ruby -e`, a script piped to `tclsh`), and `time -p` in front of a command can defeat the check for programs invoked through `xargs`. If a task is not trusted, run it in a sandboxed execution environment rather than relying on this floor."
|
|
436416
436410
|
]
|
|
436417
436411
|
},
|
|
436418
|
-
productVersion: "1.0.
|
|
436419
|
-
announcement: "sema 1.0.
|
|
436412
|
+
productVersion: "1.0.112",
|
|
436413
|
+
announcement: "sema 1.0.112 \u2014 engine pickup only: bundled engine 7.75.4 (core 7.17.6); the shell, client SDK 9.3.0 and client runtime 0.68.0 are unchanged. Security, for deployments that pin read roots: shell reads that only escape the roots once resolved (a link target, a glob match, a `..` after a link) are now refused before the command runs, on every lane including the default host lane. `sed` scripts that name a file or run a command are judged as scripts. Known limitation: inline interpreter scripts (perl -e, ruby -e) are not modelled yet.",
|
|
436420
436414
|
version: "1.0.91"
|
|
436421
436415
|
};
|
|
436422
436416
|
}
|
|
@@ -554134,7 +554128,7 @@ Usage: sema --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
554134
554128
|
pendingHookMessages
|
|
554135
554129
|
}, renderAndRun);
|
|
554136
554130
|
}
|
|
554137
|
-
}).version("sema 1.0.
|
|
554131
|
+
}).version("sema 1.0.112", "-v, --version", "Output the version number"), program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)"), program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux."), canUserConfigureAdvisor() && program2.addOption(new Option("--advisor <model>", "Enable the server-side advisor tool with the specified model (alias or full ID).").hideHelp()), program2.addOption(new Option("--bg, --background", "Start the session as a background agent and return immediately (manage with `sema agents`)")), program2.command("ps").description("List background sessions").action(async () => {
|
|
554138
554132
|
await (await Promise.resolve().then(() => (init_bg2(), bg_exports))).psHandler([]), process.exit(process.exitCode ?? 0);
|
|
554139
554133
|
}), program2.command("logs [id]").description("Print a background session's recent terminal output").action(async (id) => {
|
|
554140
554134
|
await (await Promise.resolve().then(() => (init_bg2(), bg_exports))).logsHandler(id, []), process.exit(process.exitCode ?? 0);
|
package/sema.js
CHANGED
|
@@ -80,7 +80,7 @@ function installBootSignalTailFrame(argv2 = process.argv.slice(2)) {
|
|
|
80
80
|
installBootSignalTailFrame();
|
|
81
81
|
|
|
82
82
|
// build-src/src/sema/preludeEntry.ts
|
|
83
|
-
var versionLine = "sema 1.0.
|
|
83
|
+
var versionLine = "sema 1.0.112" ? "sema 1.0.112" : "";
|
|
84
84
|
var argv = process.argv.slice(2);
|
|
85
85
|
var wantsVersionFastPath = argv.length === 1 && (argv[0] === "--version" || argv[0] === "-v");
|
|
86
86
|
var EARLY_INPUT_PRELUDE_SLOT = /* @__PURE__ */ Symbol.for("sema.earlyInputPrelude");
|