@sema-agent/cli 1.0.49 → 1.0.51
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 +34 -19
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.51",
|
|
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.51",
|
|
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.72",
|
|
13
|
+
"@sema-agent/server": "1.251.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.371.0",
|
|
633
|
+
"resolved": "https://registry.npmjs.org/@sema-agent/core/-/core-1.371.0.tgz",
|
|
634
|
+
"integrity": "sha512-jYFtSRe7H88/RkYXqYmiviaGUwMsAHAF04hYdzYT1vzQmQDYyEAUqrBoZqFyrBxsRmTq6137MWY89Xsvj+0TGA==",
|
|
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.72",
|
|
673
|
+
"resolved": "https://registry.npmjs.org/@sema-agent/sdk/-/sdk-0.0.72.tgz",
|
|
674
|
+
"integrity": "sha512-XWkZe+Z9st8ZBex88fvCkYVph8LVJWh+xwMbmoWwNirQLq8OKNI9COdTqVKkYoKzmuwhuter15bi+ViMVQyCxQ==",
|
|
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.251.0",
|
|
682
|
+
"resolved": "https://registry.npmjs.org/@sema-agent/server/-/server-1.251.0.tgz",
|
|
683
|
+
"integrity": "sha512-+8kdL9rxxKz0ut5UzMe7shc7jXIZqdmj5cO/xDZQosEs4nl9jeX5Jz0nkg1EWd7+XwOI6hACYAhQFaC/P5npaQ==",
|
|
684
684
|
"license": "BUSL-1.1",
|
|
685
685
|
"dependencies": {
|
|
686
|
-
"@sema-agent/core": "^1.
|
|
686
|
+
"@sema-agent/core": "^1.370.0",
|
|
687
687
|
"@sema-agent/registry-core": "^0.10.21",
|
|
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.51",
|
|
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.72",
|
|
25
|
+
"@sema-agent/server": "1.251.0"
|
|
26
26
|
},
|
|
27
27
|
"overrides": {
|
|
28
|
-
"@sema-agent/core": "1.
|
|
28
|
+
"@sema-agent/core": "1.371.0",
|
|
29
29
|
"@sema-agent/registry-core": "0.10.21"
|
|
30
30
|
},
|
|
31
|
-
"semaEngineVersion": "server 1.
|
|
31
|
+
"semaEngineVersion": "server 1.251.0 / core 1.371.0 / registry-core 0.10.21",
|
|
32
32
|
"engines": {
|
|
33
33
|
"node": ">=18"
|
|
34
34
|
}
|
package/sema.js
CHANGED
|
@@ -430476,6 +430476,10 @@ function createLiveFleetSource(config4, now2 = Date.now()) {
|
|
|
430476
430476
|
const viewingTaskId = getAppStateStoreRef()?.getState().viewingAgentTaskId;
|
|
430477
430477
|
const liveRows = [...taskMap.values()].map((r) => {
|
|
430478
430478
|
if (TERMINAL_FLEET_TASK_STATUSES.has(r.status ?? "")) return r;
|
|
430479
|
+
const started2 = r.startedAt;
|
|
430480
|
+
if (typeof started2 === "number" && started2 > 0 && started2 <= nowMs) {
|
|
430481
|
+
return { ...r, elapsedMs: nowMs - started2 };
|
|
430482
|
+
}
|
|
430479
430483
|
const meta3 = rowMeta.get(r.id);
|
|
430480
430484
|
if (!meta3) return r;
|
|
430481
430485
|
const idle = Math.max(0, nowMs - meta3.receivedAt);
|
|
@@ -430508,6 +430512,11 @@ function createLiveFleetSource(config4, now2 = Date.now()) {
|
|
|
430508
430512
|
sessionScopedMeta = typeof ss === "boolean" ? ss : void 0;
|
|
430509
430513
|
const bfc = frame.bgNotifyFailClosed;
|
|
430510
430514
|
bgNotifyFailClosedMeta = bfc === true;
|
|
430515
|
+
if (process.env.SEMA_DEBUG) {
|
|
430516
|
+
logForDebugging(
|
|
430517
|
+
`[fleet-frame] meta sessionScoped=${String(sessionScopedMeta)} bgNotifyFailClosed=${String(bgNotifyFailClosedMeta)}`
|
|
430518
|
+
);
|
|
430519
|
+
}
|
|
430511
430520
|
break;
|
|
430512
430521
|
}
|
|
430513
430522
|
case "snapshot": {
|
|
@@ -430563,7 +430572,9 @@ function createLiveFleetSource(config4, now2 = Date.now()) {
|
|
|
430563
430572
|
if (n2 && typeof n2.taskId === "string" && typeof n2.status === "string") {
|
|
430564
430573
|
const notifParentRun = n2.parentTaskId;
|
|
430565
430574
|
const serverFailClosed = bgNotifyFailClosedMeta && sessionScopedMeta === true;
|
|
430566
|
-
|
|
430575
|
+
const notifRoot = n2.rootSessionId;
|
|
430576
|
+
const ownByRoot = typeof notifRoot === "string" && notifRoot.length > 0 && notifRoot === effectiveScopeSessionId();
|
|
430577
|
+
if (!serverFailClosed && !ownByRoot && typeof notifParentRun === "string" && notifParentRun.length > 0 && !isOwnEngineRun(notifParentRun)) {
|
|
430567
430578
|
if (process.env.SEMA_DEBUG) {
|
|
430568
430579
|
logForDebugging(
|
|
430569
430580
|
`[fleet-frame] bg_notification DROPPED foreign/unowned parentRun(taskId=${n2.taskId} parentRun=${notifParentRun})`
|
|
@@ -480793,16 +480804,16 @@ var init_sema_brand = __esm({
|
|
|
480793
480804
|
_doc: "Rendered as the 'What's new' feed (createWhatsNewFeed). Top version MUST be >= current app version (2.1.187) and newer than config.lastReleaseNotesSeen so the notes display and full-logo mode triggers. Pinned == app version (2.1.187) + lastReleaseNotesSeen (loginState.ts) so getRecentReleaseNotes()===[] \u2192 condensed logo (matches refs/chrome.empty-input.json).",
|
|
480794
480805
|
version: "2.1.187",
|
|
480795
480806
|
notes: [
|
|
480796
|
-
"
|
|
480797
|
-
"
|
|
480798
|
-
"
|
|
480799
|
-
"
|
|
480800
|
-
"
|
|
480801
|
-
"
|
|
480807
|
+
"Fixes a dependency-relay bug that had silently disabled two recently shipped behaviors \u2014 restart-surviving completion notifications on newer engines and session-scope trust hints now actually take effect, and a new regression lock keeps them observable from now on",
|
|
480808
|
+
"Stopping a task that is really running on another instance is now correctly distinguished from a stop that failed to land",
|
|
480809
|
+
"Background-agent timers in the agents panel are now anchored to the real launch time reported by the engine (1.250+) \u2014 elapsed no longer freezes between activity beats on long-quiet agents",
|
|
480810
|
+
"Completion notifications for agents left running across a shell restart now also arrive on older engines (resumed sessions recognize their own delegation tree)",
|
|
480811
|
+
"Stopping an engine-side task that is actually running on another instance now reports honestly that it can't be stopped from here (multi-replica deployments)",
|
|
480812
|
+
"Background-agent completion notifications now survive a shell restart: on engines that declare fail-closed notification routing (1.247+), resuming a session delivers notifications for agents that were still running when the previous shell exited"
|
|
480802
480813
|
]
|
|
480803
480814
|
},
|
|
480804
|
-
productVersion: "1.0.
|
|
480805
|
-
announcement: "sema 1.0.
|
|
480815
|
+
productVersion: "1.0.51",
|
|
480816
|
+
announcement: "sema 1.0.51 \u2014 Repairs a silent relay bug so restart-surviving notifications and session-scope hints truly work, adds a regression lock so this class of breakage can't hide again, and cleanly distinguishes remote-instance stops."
|
|
480806
480817
|
};
|
|
480807
480818
|
}
|
|
480808
480819
|
});
|
|
@@ -483732,16 +483743,16 @@ var require_sema_brand = __commonJS({
|
|
|
483732
483743
|
_doc: "Rendered as the 'What's new' feed (createWhatsNewFeed). Top version MUST be >= current app version (2.1.187) and newer than config.lastReleaseNotesSeen so the notes display and full-logo mode triggers. Pinned == app version (2.1.187) + lastReleaseNotesSeen (loginState.ts) so getRecentReleaseNotes()===[] \u2192 condensed logo (matches refs/chrome.empty-input.json).",
|
|
483733
483744
|
version: "2.1.187",
|
|
483734
483745
|
notes: [
|
|
483735
|
-
"
|
|
483736
|
-
"
|
|
483737
|
-
"
|
|
483738
|
-
"
|
|
483739
|
-
"
|
|
483740
|
-
"
|
|
483746
|
+
"Fixes a dependency-relay bug that had silently disabled two recently shipped behaviors \u2014 restart-surviving completion notifications on newer engines and session-scope trust hints now actually take effect, and a new regression lock keeps them observable from now on",
|
|
483747
|
+
"Stopping a task that is really running on another instance is now correctly distinguished from a stop that failed to land",
|
|
483748
|
+
"Background-agent timers in the agents panel are now anchored to the real launch time reported by the engine (1.250+) \u2014 elapsed no longer freezes between activity beats on long-quiet agents",
|
|
483749
|
+
"Completion notifications for agents left running across a shell restart now also arrive on older engines (resumed sessions recognize their own delegation tree)",
|
|
483750
|
+
"Stopping an engine-side task that is actually running on another instance now reports honestly that it can't be stopped from here (multi-replica deployments)",
|
|
483751
|
+
"Background-agent completion notifications now survive a shell restart: on engines that declare fail-closed notification routing (1.247+), resuming a session delivers notifications for agents that were still running when the previous shell exited"
|
|
483741
483752
|
]
|
|
483742
483753
|
},
|
|
483743
|
-
productVersion: "1.0.
|
|
483744
|
-
announcement: "sema 1.0.
|
|
483754
|
+
productVersion: "1.0.51",
|
|
483755
|
+
announcement: "sema 1.0.51 \u2014 Repairs a silent relay bug so restart-surviving notifications and session-scope hints truly work, adds a regression lock so this class of breakage can't hide again, and cleanly distinguishes remote-instance stops."
|
|
483745
483756
|
};
|
|
483746
483757
|
}
|
|
483747
483758
|
});
|
|
@@ -489524,7 +489535,11 @@ async function stopEngineTask(handle, opts) {
|
|
|
489524
489535
|
const status3 = e?.status;
|
|
489525
489536
|
const detail = e instanceof Error ? e.message : String(e);
|
|
489526
489537
|
logForDebugging(`[task-handle] stop ${handle} via run ${runId}: ${typeof status3 === "number" ? status3 : detail.slice(0, 160)}`);
|
|
489527
|
-
if (status3 === 409)
|
|
489538
|
+
if (status3 === 409) {
|
|
489539
|
+
const code2 = e?.code;
|
|
489540
|
+
const notLocal = code2 === "stop.not_local" || typeof code2 !== "string" && detail.includes("stop.not_local");
|
|
489541
|
+
return notLocal ? { ok: false, reason: "not_local", detail } : { ok: false, reason: "not_landed", detail };
|
|
489542
|
+
}
|
|
489528
489543
|
return { ok: false, reason: "error", detail };
|
|
489529
489544
|
}
|
|
489530
489545
|
}
|
|
@@ -656394,7 +656409,7 @@ Auth: unix socket -R \u2192 local proxy`, "info");
|
|
|
656394
656409
|
pendingHookMessages
|
|
656395
656410
|
}, renderAndRun);
|
|
656396
656411
|
}
|
|
656397
|
-
}).version("sema 1.0.
|
|
656412
|
+
}).version("sema 1.0.51", "-v, --version", "Output the version number");
|
|
656398
656413
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
656399
656414
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
656400
656415
|
if (canUserConfigureAdvisor()) {
|