@sema-agent/cli 1.0.18 → 1.0.20

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.
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@sema-agent/cli",
3
- "version": "1.0.18",
3
+ "version": "1.0.20",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@sema-agent/cli",
9
- "version": "1.0.18",
9
+ "version": "1.0.20",
10
10
  "license": "BUSL-1.1",
11
11
  "dependencies": {
12
12
  "@sema-agent/sdk": "0.0.53",
@@ -629,9 +629,9 @@
629
629
  }
630
630
  },
631
631
  "node_modules/@sema-agent/core": {
632
- "version": "1.320.0",
633
- "resolved": "https://registry.npmjs.org/@sema-agent/core/-/core-1.320.0.tgz",
634
- "integrity": "sha512-z/xGnkEgLU/KtYTvgyDUdoMnFeHeERmgtBnfbvgMhGYxpc2UFq1Advz9iBEMYRMqoVBRisrOxdFYQ9Ho6Ur30w==",
632
+ "version": "1.322.0",
633
+ "resolved": "https://registry.npmjs.org/@sema-agent/core/-/core-1.322.0.tgz",
634
+ "integrity": "sha512-t3g50rXKglIwn90LLVwaphTOKoHqrEIxFM86uRdcfbXf0HjeNf2eqp3C5an6dzYmVsEF3kmrgQ09Y4QF/NaF2Q==",
635
635
  "license": "BUSL-1.1",
636
636
  "dependencies": {
637
637
  "@modelcontextprotocol/sdk": "1.29.0",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sema-agent/cli",
3
- "version": "1.0.18",
3
+ "version": "1.0.20",
4
4
  "description": "Sema — your own Claude Code-grade coding agent, in the terminal.",
5
5
  "license": "BUSL-1.1",
6
6
  "bin": {
@@ -25,10 +25,10 @@
25
25
  "@sema-agent/server": "1.225.0"
26
26
  },
27
27
  "overrides": {
28
- "@sema-agent/core": "1.320.0",
28
+ "@sema-agent/core": "1.322.0",
29
29
  "@sema-agent/registry-core": "0.10.19"
30
30
  },
31
- "semaEngineVersion": "server 1.225.0 / core 1.320.0 / registry-core 0.10.19",
31
+ "semaEngineVersion": "server 1.225.0 / core 1.322.0 / registry-core 0.10.19",
32
32
  "engines": {
33
33
  "node": ">=18"
34
34
  }
package/sema.js CHANGED
@@ -331903,9 +331903,9 @@ function streamingTailWrap(unstableSuffix) {
331903
331903
  var import_compiler_runtime43, import_react43, import_jsx_runtime53, TOKEN_CACHE_MAX, tokenCache, MD_SYNTAX_RE;
331904
331904
  var init_Markdown = __esm({
331905
331905
  "build-src/src/components/Markdown.tsx"() {
331906
- import_compiler_runtime43 = __toESM(require_compiler_runtime());
331906
+ import_compiler_runtime43 = __toESM(require_compiler_runtime(), 1);
331907
331907
  init_marked_esm();
331908
- import_react43 = __toESM(require_react());
331908
+ import_react43 = __toESM(require_react(), 1);
331909
331909
  init_useSettings();
331910
331910
  init_ink2();
331911
331911
  init_cliHighlight();
@@ -331913,7 +331913,7 @@ var init_Markdown = __esm({
331913
331913
  init_markdown();
331914
331914
  init_messages4();
331915
331915
  init_MarkdownTable();
331916
- import_jsx_runtime53 = __toESM(require_jsx_runtime());
331916
+ import_jsx_runtime53 = __toESM(require_jsx_runtime(), 1);
331917
331917
  TOKEN_CACHE_MAX = 500;
331918
331918
  tokenCache = /* @__PURE__ */ new Map();
331919
331919
  MD_SYNTAX_RE = /[#*`|[>\-_~]|\n\n|^\d+\. |\n\d+\. /;
@@ -354306,7 +354306,7 @@ var init_classifierApprovalsHook = __esm({
354306
354306
  var React29, SentryErrorBoundary;
354307
354307
  var init_SentryErrorBoundary = __esm({
354308
354308
  "build-src/src/components/SentryErrorBoundary.ts"() {
354309
- React29 = __toESM(require_react(), 1);
354309
+ React29 = __toESM(require_react());
354310
354310
  SentryErrorBoundary = class extends React29.Component {
354311
354311
  constructor(props) {
354312
354312
  super(props);
@@ -432192,6 +432192,11 @@ function cleanupAnchorForPid(pid) {
432192
432192
  } catch {
432193
432193
  }
432194
432194
  }
432195
+ function logShutdownKill(msg) {
432196
+ if (process.env.SEMA_DEBUG_SHUTDOWN === "1") {
432197
+ console.error(`[sema-shutdown] ${msg}`);
432198
+ }
432199
+ }
432195
432200
  function teardownOwnedEngineSync(reason) {
432196
432201
  if (teardownDone) return;
432197
432202
  teardownDone = true;
@@ -432210,6 +432215,7 @@ function teardownOwnedEngineSync(reason) {
432210
432215
  );
432211
432216
  markEngineExitExpected(target.pid);
432212
432217
  try {
432218
+ logShutdownKill(`teardown(${reason}): SIGTERM engine pid=${target.pid} (single-pid, no group kill)`);
432213
432219
  process.kill(target.pid, "SIGTERM");
432214
432220
  } catch {
432215
432221
  }
@@ -432275,6 +432281,7 @@ async function shutdownEngine(instance) {
432275
432281
  const pid = instance.pid;
432276
432282
  const signal = (sig) => {
432277
432283
  try {
432284
+ logShutdownKill(`shutdownEngine: ${sig} engine pid=${pid} (single-pid, no group kill)`);
432278
432285
  if (child) child.kill(sig);
432279
432286
  else process.kill(pid, sig);
432280
432287
  } catch {
@@ -479586,8 +479593,8 @@ var init_sema_brand = __esm({
479586
479593
  "Slash-command gating wired to the fleet capability handshake"
479587
479594
  ]
479588
479595
  },
479589
- productVersion: "1.0.18",
479590
- announcement: "sema 1.0.18 \u2014 clearer failure taxonomy: torn streams, refusals, and empty length-capped replies now carry stable error codes end to end, so -p/JSON consumers can bucket failures precisely instead of guessing from prose."
479596
+ productVersion: "1.0.20",
479597
+ announcement: "sema 1.0.20 \u2014 background-task receipts now state process lifetime honestly at the moment you start one: run_in_background tasks end with the session, and the receipt shows the nohup form to use when you want a service to outlive it."
479591
479598
  };
479592
479599
  }
479593
479600
  });
@@ -482521,8 +482528,8 @@ var require_sema_brand = __commonJS({
482521
482528
  "Slash-command gating wired to the fleet capability handshake"
482522
482529
  ]
482523
482530
  },
482524
- productVersion: "1.0.18",
482525
- announcement: "sema 1.0.18 \u2014 clearer failure taxonomy: torn streams, refusals, and empty length-capped replies now carry stable error codes end to end, so -p/JSON consumers can bucket failures precisely instead of guessing from prose."
482531
+ productVersion: "1.0.20",
482532
+ announcement: "sema 1.0.20 \u2014 background-task receipts now state process lifetime honestly at the moment you start one: run_in_background tasks end with the session, and the receipt shows the nohup form to use when you want a service to outlive it."
482526
482533
  };
482527
482534
  }
482528
482535
  });
@@ -552850,9 +552857,24 @@ var init_compaction = __esm({
552850
552857
  }
552851
552858
  });
552852
552859
 
552860
+ // node_modules/@sema-agent/core/dist/core/shutdown-debug.js
552861
+ function shutdownDebug(msg, extra) {
552862
+ if (process.env.SEMA_DEBUG_SHUTDOWN !== "1")
552863
+ return;
552864
+ try {
552865
+ console.error(`[sema:shutdown] ${msg}${extra !== void 0 ? ` ${JSON.stringify(extra)}` : ""}`);
552866
+ } catch {
552867
+ }
552868
+ }
552869
+ var init_shutdown_debug = __esm({
552870
+ "node_modules/@sema-agent/core/dist/core/shutdown-debug.js"() {
552871
+ }
552872
+ });
552873
+
552853
552874
  // node_modules/@sema-agent/core/dist/engine/execution-env/kill-tree.js
552854
552875
  var init_kill_tree = __esm({
552855
552876
  "node_modules/@sema-agent/core/dist/engine/execution-env/kill-tree.js"() {
552877
+ init_shutdown_debug();
552856
552878
  }
552857
552879
  });
552858
552880
 
@@ -554430,6 +554452,7 @@ var init_task_registry = __esm({
554430
554452
  init_build3();
554431
554453
  init_tools3();
554432
554454
  init_background_shell();
554455
+ init_shutdown_debug();
554433
554456
  init_workflow_run_store();
554434
554457
  init_untrusted_text();
554435
554458
  init_untrusted_egress();
@@ -554773,6 +554796,7 @@ var init_task_registry = __esm({
554773
554796
  if ((handle.type === "background_bash" || handle.type === "monitor") && handle.retained === true && handle.status === "running")
554774
554797
  continue;
554775
554798
  if (handle.type === "monitor" && handle.status === "running" && handle.sessionScoped && canAccess(handle, access7)) {
554799
+ shutdownDebug("session reap: monitor row", { id: handle.id, shellId: handle.shellId, retainEnv: handle.env.backgroundCapabilities.retainBackgroundProcesses === true });
554776
554800
  this.markStopSource(handle.id, "system");
554777
554801
  if (handle.watcher !== void 0) {
554778
554802
  handle.timers.clearInterval(handle.watcher);
@@ -554788,6 +554812,7 @@ var init_task_registry = __esm({
554788
554812
  continue;
554789
554813
  }
554790
554814
  if (handle.type === "background_bash" && handle.status === "running" && handle.sessionScoped && canAccess(handle, access7)) {
554815
+ shutdownDebug("session reap: background_bash row", { id: handle.id, shellId: handle.shellId, retainEnv: handle.env.backgroundCapabilities.retainBackgroundProcesses === true });
554791
554816
  this.markStopSource(handle.id, "system");
554792
554817
  if (handle.watcher !== void 0) {
554793
554818
  clearInterval(handle.watcher);
@@ -607789,8 +607814,8 @@ function _temp161() {
607789
607814
  var import_compiler_runtime316, import_react313, SETTINGS_ERRORS_NOTIFICATION_KEY;
607790
607815
  var init_useSettingsErrors = __esm({
607791
607816
  "build-src/src/hooks/notifs/useSettingsErrors.tsx"() {
607792
- import_compiler_runtime316 = __toESM(require_compiler_runtime());
607793
- import_react313 = __toESM(require_react());
607817
+ import_compiler_runtime316 = __toESM(require_compiler_runtime(), 1);
607818
+ import_react313 = __toESM(require_react(), 1);
607794
607819
  init_notifications();
607795
607820
  init_state();
607796
607821
  init_allErrors();
@@ -640745,6 +640770,9 @@ function reclaimOneShotEngine(pid, api2, label = "one-shot") {
640745
640770
  } catch {
640746
640771
  }
640747
640772
  try {
640773
+ if (process.env.SEMA_DEBUG_SHUTDOWN === "1") {
640774
+ console.error(`[sema-shutdown] ${label}: SIGTERM engine pid=${pid} (single-pid, no group kill)`);
640775
+ }
640748
640776
  process.kill(pid, "SIGTERM");
640749
640777
  } catch {
640750
640778
  }
@@ -653937,7 +653965,7 @@ Auth: unix socket -R \u2192 local proxy`, "info");
653937
653965
  pendingHookMessages
653938
653966
  }, renderAndRun);
653939
653967
  }
653940
- }).version("sema 1.0.18", "-v, --version", "Output the version number");
653968
+ }).version("sema 1.0.20", "-v, --version", "Output the version number");
653941
653969
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
653942
653970
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
653943
653971
  if (canUserConfigureAdvisor()) {