@sema-agent/cli 1.0.48 → 1.0.50
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 +86 -57
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.50",
|
|
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.50",
|
|
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.69",
|
|
13
|
+
"@sema-agent/server": "1.250.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.368.0",
|
|
633
|
+
"resolved": "https://registry.npmjs.org/@sema-agent/core/-/core-1.368.0.tgz",
|
|
634
|
+
"integrity": "sha512-9OOR4vceHvfzUMeBYij21M52p2K0LZOTF0/iOGjjO4Y491BVS3o3y22YgLKLKcObHY+PAiH7ApbYLZggejfa6w==",
|
|
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.69",
|
|
673
|
+
"resolved": "https://registry.npmjs.org/@sema-agent/sdk/-/sdk-0.0.69.tgz",
|
|
674
|
+
"integrity": "sha512-BFBQgzMpdxBvjTBSU2P4Dny/kx4PLj2JMY9DppK7QEtJgnCVduPVneRviKbGd4KUr5OLotDyQ6ByHrEUFgSaQg==",
|
|
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.250.0",
|
|
682
|
+
"resolved": "https://registry.npmjs.org/@sema-agent/server/-/server-1.250.0.tgz",
|
|
683
|
+
"integrity": "sha512-ba9rUGfFiq1Mc+po4Xgwh1zI1XEVVDym3VZuUeAIJO6xb4tTlQjpz/HQuTlFVZWDrRz9Y46bNEXLjg4c2vi7LA==",
|
|
684
684
|
"license": "BUSL-1.1",
|
|
685
685
|
"dependencies": {
|
|
686
|
-
"@sema-agent/core": "^1.
|
|
686
|
+
"@sema-agent/core": "^1.368.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.50",
|
|
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.69",
|
|
25
|
+
"@sema-agent/server": "1.250.0"
|
|
26
26
|
},
|
|
27
27
|
"overrides": {
|
|
28
|
-
"@sema-agent/core": "1.
|
|
28
|
+
"@sema-agent/core": "1.368.0",
|
|
29
29
|
"@sema-agent/registry-core": "0.10.21"
|
|
30
30
|
},
|
|
31
|
-
"semaEngineVersion": "server 1.
|
|
31
|
+
"semaEngineVersion": "server 1.250.0 / core 1.368.0 / registry-core 0.10.21",
|
|
32
32
|
"engines": {
|
|
33
33
|
"node": ">=18"
|
|
34
34
|
}
|
package/sema.js
CHANGED
|
@@ -114163,6 +114163,7 @@ var init_instances = __esm({
|
|
|
114163
114163
|
});
|
|
114164
114164
|
|
|
114165
114165
|
// build-src/src/ink/log-update.ts
|
|
114166
|
+
import { appendFileSync as appendFileSync3 } from "node:fs";
|
|
114166
114167
|
function transitionHyperlink(diff2, current3, target) {
|
|
114167
114168
|
if (current3 !== target) {
|
|
114168
114169
|
diff2.push({ type: "hyperlink", uri: target ?? "" });
|
|
@@ -114401,6 +114402,19 @@ var init_log_update = __esm({
|
|
|
114401
114402
|
if (!this.options.isTTY) {
|
|
114402
114403
|
return this.renderFullFrame(next);
|
|
114403
114404
|
}
|
|
114405
|
+
if (process.env.SEMA_DEBUG_FRAME_DUMP) {
|
|
114406
|
+
try {
|
|
114407
|
+
const rows2 = [];
|
|
114408
|
+
for (let y2 = 0; y2 < next.screen.height; y2++) rows2.push(readLine(next.screen, y2));
|
|
114409
|
+
appendFileSync3(
|
|
114410
|
+
process.env.SEMA_DEBUG_FRAME_DUMP,
|
|
114411
|
+
`=== frame vp=${next.viewport.width}x${next.viewport.height} screen=${next.screen.width}x${next.screen.height} ===
|
|
114412
|
+
${rows2.join("\n")}
|
|
114413
|
+
`
|
|
114414
|
+
);
|
|
114415
|
+
} catch {
|
|
114416
|
+
}
|
|
114417
|
+
}
|
|
114404
114418
|
const startTime = performance.now();
|
|
114405
114419
|
const stylePool = this.options.stylePool;
|
|
114406
114420
|
if (next.viewport.height < prev.viewport.height || prev.viewport.width !== 0 && next.viewport.width !== prev.viewport.width) {
|
|
@@ -160026,7 +160040,7 @@ var init_userMessageSelect = __esm({
|
|
|
160026
160040
|
|
|
160027
160041
|
// build-src/src/sema/rewindAnchorSidecar.ts
|
|
160028
160042
|
import {
|
|
160029
|
-
appendFileSync as
|
|
160043
|
+
appendFileSync as appendFileSync4,
|
|
160030
160044
|
closeSync as closeSync5,
|
|
160031
160045
|
fsyncSync as fsyncSync3,
|
|
160032
160046
|
mkdirSync as mkdirSync6,
|
|
@@ -160225,11 +160239,11 @@ var init_rewindAnchorSidecar = __esm({
|
|
|
160225
160239
|
}
|
|
160226
160240
|
appendLocked(path27, line) {
|
|
160227
160241
|
try {
|
|
160228
|
-
|
|
160242
|
+
appendFileSync4(path27, "", { mode: 384 });
|
|
160229
160243
|
} catch {
|
|
160230
160244
|
try {
|
|
160231
160245
|
mkdirSync6(dirname21(path27), { recursive: true, mode: 448 });
|
|
160232
|
-
|
|
160246
|
+
appendFileSync4(path27, "", { mode: 384 });
|
|
160233
160247
|
} catch (err8) {
|
|
160234
160248
|
logForDebugging2(`rewindAnchorSidecar: cannot ensure ${path27}: ${err8}`);
|
|
160235
160249
|
}
|
|
@@ -352993,7 +353007,7 @@ function useClaudeAiLimits() {
|
|
|
352993
353007
|
var import_react64;
|
|
352994
353008
|
var init_claudeAiLimitsHook = __esm({
|
|
352995
353009
|
"build-src/src/services/claudeAiLimitsHook.ts"() {
|
|
352996
|
-
import_react64 = __toESM(require_react());
|
|
353010
|
+
import_react64 = __toESM(require_react(), 1);
|
|
352997
353011
|
init_claudeAiLimits();
|
|
352998
353012
|
}
|
|
352999
353013
|
});
|
|
@@ -430422,6 +430436,7 @@ function createLiveFleetSource(config4, now2 = Date.now()) {
|
|
|
430422
430436
|
let version4 = null;
|
|
430423
430437
|
let scoped = null;
|
|
430424
430438
|
let sessionScopedMeta;
|
|
430439
|
+
let bgNotifyFailClosedMeta = false;
|
|
430425
430440
|
let lastError = null;
|
|
430426
430441
|
let disposed4 = false;
|
|
430427
430442
|
const bgView = {
|
|
@@ -430461,6 +430476,10 @@ function createLiveFleetSource(config4, now2 = Date.now()) {
|
|
|
430461
430476
|
const viewingTaskId = getAppStateStoreRef()?.getState().viewingAgentTaskId;
|
|
430462
430477
|
const liveRows = [...taskMap.values()].map((r) => {
|
|
430463
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
|
+
}
|
|
430464
430483
|
const meta3 = rowMeta.get(r.id);
|
|
430465
430484
|
if (!meta3) return r;
|
|
430466
430485
|
const idle = Math.max(0, nowMs - meta3.receivedAt);
|
|
@@ -430491,6 +430510,8 @@ function createLiveFleetSource(config4, now2 = Date.now()) {
|
|
|
430491
430510
|
scoped = frame.scoped;
|
|
430492
430511
|
const ss = frame.sessionScoped;
|
|
430493
430512
|
sessionScopedMeta = typeof ss === "boolean" ? ss : void 0;
|
|
430513
|
+
const bfc = frame.bgNotifyFailClosed;
|
|
430514
|
+
bgNotifyFailClosedMeta = bfc === true;
|
|
430494
430515
|
break;
|
|
430495
430516
|
}
|
|
430496
430517
|
case "snapshot": {
|
|
@@ -430545,7 +430566,10 @@ function createLiveFleetSource(config4, now2 = Date.now()) {
|
|
|
430545
430566
|
const n2 = anyFrame.type === "bg_notification" ? anyFrame.notification ?? anyFrame : void 0;
|
|
430546
430567
|
if (n2 && typeof n2.taskId === "string" && typeof n2.status === "string") {
|
|
430547
430568
|
const notifParentRun = n2.parentTaskId;
|
|
430548
|
-
|
|
430569
|
+
const serverFailClosed = bgNotifyFailClosedMeta && sessionScopedMeta === true;
|
|
430570
|
+
const notifRoot = n2.rootSessionId;
|
|
430571
|
+
const ownByRoot = typeof notifRoot === "string" && notifRoot.length > 0 && notifRoot === effectiveScopeSessionId();
|
|
430572
|
+
if (!serverFailClosed && !ownByRoot && typeof notifParentRun === "string" && notifParentRun.length > 0 && !isOwnEngineRun(notifParentRun)) {
|
|
430549
430573
|
if (process.env.SEMA_DEBUG) {
|
|
430550
430574
|
logForDebugging(
|
|
430551
430575
|
`[fleet-frame] bg_notification DROPPED foreign/unowned parentRun(taskId=${n2.taskId} parentRun=${notifParentRun})`
|
|
@@ -451971,7 +451995,7 @@ function Settings({
|
|
|
451971
451995
|
var import_react113, import_jsx_runtime193;
|
|
451972
451996
|
var init_cmd_config = __esm({
|
|
451973
451997
|
"build-src/src/sema/overrides/cmd-config.tsx"() {
|
|
451974
|
-
import_react113 = __toESM(require_react());
|
|
451998
|
+
import_react113 = __toESM(require_react(), 1);
|
|
451975
451999
|
init_useKeybinding();
|
|
451976
452000
|
init_useExitOnCtrlCDWithKeybindings();
|
|
451977
452001
|
init_useTerminalSize();
|
|
@@ -451982,7 +452006,7 @@ var init_cmd_config = __esm({
|
|
|
451982
452006
|
init_Config();
|
|
451983
452007
|
init_settings_usage();
|
|
451984
452008
|
init_Stats();
|
|
451985
|
-
import_jsx_runtime193 = __toESM(require_jsx_runtime());
|
|
452009
|
+
import_jsx_runtime193 = __toESM(require_jsx_runtime(), 1);
|
|
451986
452010
|
}
|
|
451987
452011
|
});
|
|
451988
452012
|
|
|
@@ -480775,25 +480799,23 @@ var init_sema_brand = __esm({
|
|
|
480775
480799
|
_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).",
|
|
480776
480800
|
version: "2.1.187",
|
|
480777
480801
|
notes: [
|
|
480778
|
-
"Background
|
|
480779
|
-
"
|
|
480780
|
-
"
|
|
480781
|
-
"
|
|
480782
|
-
"Workflow
|
|
480783
|
-
"
|
|
480784
|
-
"Context window presets in the model wizard (64K/128K/.../1M) now convert consistently \u2014 token counts finally match what the labels say",
|
|
480785
|
-
`Clarified what the model wizard's "Label" field actually does when you leave it blank`
|
|
480802
|
+
"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",
|
|
480803
|
+
"Completion notifications for agents left running across a shell restart now also arrive on older engines (resumed sessions recognize their own delegation tree)",
|
|
480804
|
+
"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)",
|
|
480805
|
+
"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",
|
|
480806
|
+
"Workflow monitor no longer bleeds a tool argument's raw multi-line content across the panel (long structured outputs in the Activity list are now summarized to their first line)",
|
|
480807
|
+
"Workflow detail/status reads are now session-scoped end to end on newer engines \u2014 another conversation's workflow details are no longer readable from your window"
|
|
480786
480808
|
]
|
|
480787
480809
|
},
|
|
480788
|
-
productVersion: "1.0.
|
|
480789
|
-
announcement: "sema 1.0.
|
|
480810
|
+
productVersion: "1.0.50",
|
|
480811
|
+
announcement: "sema 1.0.50 \u2014 Agents-panel timers now track the engine's real launch clock, restart-surviving completion notifications extend to older engines, and multi-replica task stops respond honestly."
|
|
480790
480812
|
};
|
|
480791
480813
|
}
|
|
480792
480814
|
});
|
|
480793
480815
|
|
|
480794
480816
|
// build-src/src/sema/overrides/welcome-scifi.tsx
|
|
480795
480817
|
import { probeHealth as sdkProbeHealth6 } from "@sema-agent/sdk";
|
|
480796
|
-
import { appendFileSync as
|
|
480818
|
+
import { appendFileSync as appendFileSync5 } from "node:fs";
|
|
480797
480819
|
function pickIcon() {
|
|
480798
480820
|
const k2 = process.env.SEMA_WELCOME_ICON ?? "prism";
|
|
480799
480821
|
return ICONS[k2] ?? ICONS.prism;
|
|
@@ -480918,7 +480940,7 @@ function buildChecks(routingRefusalParam = null, pinUnreachableParam = null, mod
|
|
|
480918
480940
|
}
|
|
480919
480941
|
if (process.env.SEMA_WELCOME_PROBE) {
|
|
480920
480942
|
try {
|
|
480921
|
-
|
|
480943
|
+
appendFileSync5(`${process.env.SEMA_WELCOME_PROBE}.render`, `${Date.now()} buildChecks r=${JSON.stringify(routingRefusal)}
|
|
480922
480944
|
`);
|
|
480923
480945
|
} catch {
|
|
480924
480946
|
}
|
|
@@ -481047,7 +481069,7 @@ function WelcomeSciFi() {
|
|
|
481047
481069
|
const r = engineRoutingRefusalActive();
|
|
481048
481070
|
if (process.env.SEMA_WELCOME_PROBE && polls <= 3) {
|
|
481049
481071
|
try {
|
|
481050
|
-
|
|
481072
|
+
appendFileSync5(process.env.SEMA_WELCOME_PROBE, `poll#${polls} r=${JSON.stringify(r)}
|
|
481051
481073
|
`);
|
|
481052
481074
|
} catch {
|
|
481053
481075
|
}
|
|
@@ -483716,18 +483738,16 @@ var require_sema_brand = __commonJS({
|
|
|
483716
483738
|
_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).",
|
|
483717
483739
|
version: "2.1.187",
|
|
483718
483740
|
notes: [
|
|
483719
|
-
"Background
|
|
483720
|
-
"
|
|
483721
|
-
"
|
|
483722
|
-
"
|
|
483723
|
-
"Workflow
|
|
483724
|
-
"
|
|
483725
|
-
"Context window presets in the model wizard (64K/128K/.../1M) now convert consistently \u2014 token counts finally match what the labels say",
|
|
483726
|
-
`Clarified what the model wizard's "Label" field actually does when you leave it blank`
|
|
483741
|
+
"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",
|
|
483742
|
+
"Completion notifications for agents left running across a shell restart now also arrive on older engines (resumed sessions recognize their own delegation tree)",
|
|
483743
|
+
"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)",
|
|
483744
|
+
"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",
|
|
483745
|
+
"Workflow monitor no longer bleeds a tool argument's raw multi-line content across the panel (long structured outputs in the Activity list are now summarized to their first line)",
|
|
483746
|
+
"Workflow detail/status reads are now session-scoped end to end on newer engines \u2014 another conversation's workflow details are no longer readable from your window"
|
|
483727
483747
|
]
|
|
483728
483748
|
},
|
|
483729
|
-
productVersion: "1.0.
|
|
483730
|
-
announcement: "sema 1.0.
|
|
483749
|
+
productVersion: "1.0.50",
|
|
483750
|
+
announcement: "sema 1.0.50 \u2014 Agents-panel timers now track the engine's real launch clock, restart-surviving completion notifications extend to older engines, and multi-replica task stops respond honestly."
|
|
483731
483751
|
};
|
|
483732
483752
|
}
|
|
483733
483753
|
});
|
|
@@ -489510,7 +489530,9 @@ async function stopEngineTask(handle, opts) {
|
|
|
489510
489530
|
const status3 = e?.status;
|
|
489511
489531
|
const detail = e instanceof Error ? e.message : String(e);
|
|
489512
489532
|
logForDebugging(`[task-handle] stop ${handle} via run ${runId}: ${typeof status3 === "number" ? status3 : detail.slice(0, 160)}`);
|
|
489513
|
-
if (status3 === 409)
|
|
489533
|
+
if (status3 === 409) {
|
|
489534
|
+
return detail.includes("stop.not_local") ? { ok: false, reason: "not_local", detail } : { ok: false, reason: "not_landed", detail };
|
|
489535
|
+
}
|
|
489514
489536
|
return { ok: false, reason: "error", detail };
|
|
489515
489537
|
}
|
|
489516
489538
|
}
|
|
@@ -520609,7 +520631,7 @@ var init_commands = __esm({
|
|
|
520609
520631
|
|
|
520610
520632
|
// build-src/src/sema/turnJournal.ts
|
|
520611
520633
|
import {
|
|
520612
|
-
appendFileSync as
|
|
520634
|
+
appendFileSync as appendFileSync6,
|
|
520613
520635
|
closeSync as closeSync8,
|
|
520614
520636
|
fsyncSync as fsyncSync6,
|
|
520615
520637
|
mkdirSync as mkdirSync18,
|
|
@@ -520626,22 +520648,22 @@ function recordTurnJournalEntry(journalPath, entry, lockTargetPath) {
|
|
|
520626
520648
|
const line = jsonStringify(stamped) + "\n";
|
|
520627
520649
|
const lockOn = lockTargetPath ?? journalPath;
|
|
520628
520650
|
try {
|
|
520629
|
-
|
|
520651
|
+
appendFileSync6(lockOn, "", { mode: 384 });
|
|
520630
520652
|
} catch {
|
|
520631
520653
|
try {
|
|
520632
520654
|
mkdirSync18(dirname70(lockOn), { recursive: true, mode: 448 });
|
|
520633
|
-
|
|
520655
|
+
appendFileSync6(lockOn, "", { mode: 384 });
|
|
520634
520656
|
} catch (err8) {
|
|
520635
520657
|
logForDebugging(`turnJournal: cannot ensure lock target ${lockOn}: ${err8}`);
|
|
520636
520658
|
}
|
|
520637
520659
|
}
|
|
520638
520660
|
if (lockOn !== journalPath) {
|
|
520639
520661
|
try {
|
|
520640
|
-
|
|
520662
|
+
appendFileSync6(journalPath, "", { mode: 384 });
|
|
520641
520663
|
} catch {
|
|
520642
520664
|
try {
|
|
520643
520665
|
mkdirSync18(dirname70(journalPath), { recursive: true, mode: 448 });
|
|
520644
|
-
|
|
520666
|
+
appendFileSync6(journalPath, "", { mode: 384 });
|
|
520645
520667
|
} catch {
|
|
520646
520668
|
}
|
|
520647
520669
|
}
|
|
@@ -563292,6 +563314,12 @@ function coerceAgentState(s) {
|
|
|
563292
563314
|
return "progress";
|
|
563293
563315
|
}
|
|
563294
563316
|
}
|
|
563317
|
+
function oneLineSummary(s) {
|
|
563318
|
+
const nl = s.search(/\r?\n/);
|
|
563319
|
+
if (nl < 0) return s;
|
|
563320
|
+
const head = s.slice(0, nl).trimEnd();
|
|
563321
|
+
return head ? `${head}\u2026` : "\u2026";
|
|
563322
|
+
}
|
|
563295
563323
|
function projectActivity(beats) {
|
|
563296
563324
|
if (!beats?.length) return [];
|
|
563297
563325
|
const byCall = /* @__PURE__ */ new Map();
|
|
@@ -563303,7 +563331,7 @@ function projectActivity(beats) {
|
|
|
563303
563331
|
const key = typeof b3.toolCallId === "string" && b3.toolCallId ? b3.toolCallId : `#${anon++}`;
|
|
563304
563332
|
if (!byCall.has(key)) order2.push(key);
|
|
563305
563333
|
const prev = byCall.get(key);
|
|
563306
|
-
const arg = typeof b3.arg === "string" && b3.arg.trim() ? b3.arg.trim() : prev?.summary;
|
|
563334
|
+
const arg = typeof b3.arg === "string" && b3.arg.trim() ? oneLineSummary(b3.arg.trim()) : prev?.summary;
|
|
563307
563335
|
const call75 = { name };
|
|
563308
563336
|
if (arg) call75.summary = arg;
|
|
563309
563337
|
byCall.set(key, { ...prev, ...call75 });
|
|
@@ -563458,14 +563486,14 @@ function createLiveWorkflowSource(config4) {
|
|
|
563458
563486
|
}
|
|
563459
563487
|
async function resolveRunId(signal) {
|
|
563460
563488
|
if (config4.workflowId) return config4.workflowId;
|
|
563461
|
-
const { workflows } = await client4.workflows.list({ signal });
|
|
563489
|
+
const { workflows } = await client4.workflows.list({ signal, ...engineSessionParamSpread() });
|
|
563462
563490
|
if (!workflows?.length) return null;
|
|
563463
563491
|
const running = workflows.find((w2) => w2.status === "running");
|
|
563464
563492
|
return (running ?? workflows[0]).id;
|
|
563465
563493
|
}
|
|
563466
563494
|
async function refresh(id, signal) {
|
|
563467
563495
|
try {
|
|
563468
|
-
const run2 = await client4.workflows.get(id, { signal });
|
|
563496
|
+
const run2 = await client4.workflows.get(id, { signal, ...engineSessionParamSpread() });
|
|
563469
563497
|
lastGetAt = Date.now();
|
|
563470
563498
|
current3 = projectWorkflowRun(run2);
|
|
563471
563499
|
runId = run2.id;
|
|
@@ -563495,7 +563523,7 @@ function createLiveWorkflowSource(config4) {
|
|
|
563495
563523
|
continue;
|
|
563496
563524
|
}
|
|
563497
563525
|
try {
|
|
563498
|
-
for await (const _frame of client4.workflows.stream(id, { signal: abort.signal })) {
|
|
563526
|
+
for await (const _frame of client4.workflows.stream(id, { signal: abort.signal, ...engineSessionParamSpread() })) {
|
|
563499
563527
|
void _frame;
|
|
563500
563528
|
if (disposed4) return;
|
|
563501
563529
|
connected = true;
|
|
@@ -563534,6 +563562,7 @@ function createLiveWorkflowSource(config4) {
|
|
|
563534
563562
|
var workflowClient_default;
|
|
563535
563563
|
var init_workflowClient = __esm({
|
|
563536
563564
|
"build-src/src/sema/workflowClient.ts"() {
|
|
563565
|
+
init_engineSessionParam();
|
|
563537
563566
|
workflowClient_default = createLiveWorkflowSource;
|
|
563538
563567
|
}
|
|
563539
563568
|
});
|
|
@@ -604172,8 +604201,8 @@ async function processResumedConversation(result, opts, context3) {
|
|
|
604172
604201
|
const { bindSessionPersistencePaths: bindSessionPersistencePaths2, reconcileResumeJournal: reconcileResumeJournal2 } = await Promise.resolve().then(() => (init_sessionPersistenceWire(), sessionPersistenceWire_exports));
|
|
604173
604202
|
bindSessionPersistencePaths2();
|
|
604174
604203
|
if (process.env.SEMA_RECONCILE_DIAG) {
|
|
604175
|
-
const { appendFileSync:
|
|
604176
|
-
|
|
604204
|
+
const { appendFileSync: appendFileSync9 } = await import("fs");
|
|
604205
|
+
appendFileSync9(
|
|
604177
604206
|
process.env.SEMA_RECONCILE_DIAG,
|
|
604178
604207
|
`[entry] sid=${sid} baseUrl=${process.env.SEMA_LIVE_BASEURL ?? "UNSET"}
|
|
604179
604208
|
`
|
|
@@ -604183,8 +604212,8 @@ async function processResumedConversation(result, opts, context3) {
|
|
|
604183
604212
|
const { cancelEngineRun: cancelEngineRun2 } = await Promise.resolve().then(() => (init_seamQuery(), seamQuery_exports));
|
|
604184
604213
|
const r = await reconcileResumeJournal2(void 0, (taskId) => cancelEngineRun2(taskId));
|
|
604185
604214
|
if (process.env.SEMA_RECONCILE_DIAG) {
|
|
604186
|
-
const { appendFileSync:
|
|
604187
|
-
|
|
604215
|
+
const { appendFileSync: appendFileSync9 } = await import("fs");
|
|
604216
|
+
appendFileSync9(
|
|
604188
604217
|
process.env.SEMA_RECONCILE_DIAG,
|
|
604189
604218
|
`[done] ${r.decision.lastState} -> ${r.recovery}
|
|
604190
604219
|
`
|
|
@@ -604196,8 +604225,8 @@ async function processResumedConversation(result, opts, context3) {
|
|
|
604196
604225
|
);
|
|
604197
604226
|
}
|
|
604198
604227
|
} else if (process.env.SEMA_RECONCILE_DIAG) {
|
|
604199
|
-
const { appendFileSync:
|
|
604200
|
-
|
|
604228
|
+
const { appendFileSync: appendFileSync9 } = await import("fs");
|
|
604229
|
+
appendFileSync9(process.env.SEMA_RECONCILE_DIAG, `[skip] baseUrl UNSET
|
|
604201
604230
|
`);
|
|
604202
604231
|
}
|
|
604203
604232
|
} catch (ePw) {
|
|
@@ -607706,8 +607735,8 @@ function _temp158() {
|
|
|
607706
607735
|
var import_compiler_runtime312, import_react310, import_jsx_runtime458, DESKTOP_UPSELL_DEFAULT;
|
|
607707
607736
|
var init_DesktopUpsellStartup = __esm({
|
|
607708
607737
|
"build-src/src/components/DesktopUpsell/DesktopUpsellStartup.tsx"() {
|
|
607709
|
-
import_compiler_runtime312 = __toESM(require_compiler_runtime());
|
|
607710
|
-
import_react310 = __toESM(require_react());
|
|
607738
|
+
import_compiler_runtime312 = __toESM(require_compiler_runtime(), 1);
|
|
607739
|
+
import_react310 = __toESM(require_react(), 1);
|
|
607711
607740
|
init_ink2();
|
|
607712
607741
|
init_growthbook_advisor_flag();
|
|
607713
607742
|
init_analytics_index();
|
|
@@ -607715,7 +607744,7 @@ var init_DesktopUpsellStartup = __esm({
|
|
|
607715
607744
|
init_select();
|
|
607716
607745
|
init_DesktopHandoff();
|
|
607717
607746
|
init_PermissionDialog();
|
|
607718
|
-
import_jsx_runtime458 = __toESM(require_jsx_runtime());
|
|
607747
|
+
import_jsx_runtime458 = __toESM(require_jsx_runtime(), 1);
|
|
607719
607748
|
DESKTOP_UPSELL_DEFAULT = {
|
|
607720
607749
|
enable_shortcut_tip: false,
|
|
607721
607750
|
enable_startup_dialog: false
|
|
@@ -610070,8 +610099,8 @@ function _temp161() {
|
|
|
610070
610099
|
var import_compiler_runtime316, import_react314, SETTINGS_ERRORS_NOTIFICATION_KEY;
|
|
610071
610100
|
var init_useSettingsErrors = __esm({
|
|
610072
610101
|
"build-src/src/hooks/notifs/useSettingsErrors.tsx"() {
|
|
610073
|
-
import_compiler_runtime316 = __toESM(require_compiler_runtime());
|
|
610074
|
-
import_react314 = __toESM(require_react());
|
|
610102
|
+
import_compiler_runtime316 = __toESM(require_compiler_runtime(), 1);
|
|
610103
|
+
import_react314 = __toESM(require_react(), 1);
|
|
610075
610104
|
init_notifications();
|
|
610076
610105
|
init_state();
|
|
610077
610106
|
init_allErrors();
|
|
@@ -630943,7 +630972,7 @@ function createLiveConversationClient(config4) {
|
|
|
630943
630972
|
installWorkflowStatusProbe(async (runId) => {
|
|
630944
630973
|
let run2 = null;
|
|
630945
630974
|
try {
|
|
630946
|
-
run2 = await client4.workflows.get(runId);
|
|
630975
|
+
run2 = await client4.workflows.get(runId, engineSessionParamSpread());
|
|
630947
630976
|
} catch {
|
|
630948
630977
|
return null;
|
|
630949
630978
|
}
|
|
@@ -656373,7 +656402,7 @@ Auth: unix socket -R \u2192 local proxy`, "info");
|
|
|
656373
656402
|
pendingHookMessages
|
|
656374
656403
|
}, renderAndRun);
|
|
656375
656404
|
}
|
|
656376
|
-
}).version("sema 1.0.
|
|
656405
|
+
}).version("sema 1.0.50", "-v, --version", "Output the version number");
|
|
656377
656406
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
656378
656407
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
656379
656408
|
if (canUserConfigureAdvisor()) {
|
|
@@ -659565,7 +659594,7 @@ __export(interactiveHelpers_exports, {
|
|
|
659565
659594
|
showSetupDialog: () => showSetupDialog,
|
|
659566
659595
|
showSetupScreens: () => showSetupScreens
|
|
659567
659596
|
});
|
|
659568
|
-
import { appendFileSync as
|
|
659597
|
+
import { appendFileSync as appendFileSync7 } from "fs";
|
|
659569
659598
|
function completeOnboarding() {
|
|
659570
659599
|
saveGlobalConfig((current3) => ({
|
|
659571
659600
|
...current3,
|
|
@@ -659758,7 +659787,7 @@ function getRenderContext(exitOnCtrlC) {
|
|
|
659758
659787
|
cpu: process.cpuUsage()
|
|
659759
659788
|
}) + "\n"
|
|
659760
659789
|
);
|
|
659761
|
-
|
|
659790
|
+
appendFileSync7(frameTimingLogPath, line);
|
|
659762
659791
|
}
|
|
659763
659792
|
if (isSynchronizedOutputSupported()) {
|
|
659764
659793
|
return;
|
|
@@ -662402,7 +662431,7 @@ __export(main_exports2, {
|
|
|
662402
662431
|
daemonMain: () => daemonMain
|
|
662403
662432
|
});
|
|
662404
662433
|
import { spawn as spawn15 } from "child_process";
|
|
662405
|
-
import { appendFileSync as
|
|
662434
|
+
import { appendFileSync as appendFileSync8, createWriteStream as createWriteStream5 } from "fs";
|
|
662406
662435
|
import { chmod as chmod13, mkdir as mkdir51, readFile as readFile58, readdir as readdir33, rename as rename15, stat as stat54, unlink as unlink28 } from "fs/promises";
|
|
662407
662436
|
import { createConnection as createConnection4, createServer as createServer9 } from "net";
|
|
662408
662437
|
import { dirname as dirname90, join as join206 } from "path";
|
|
@@ -662449,7 +662478,7 @@ function appendDaemonCrashLine(kind, err8) {
|
|
|
662449
662478
|
const line = `${(/* @__PURE__ */ new Date()).toISOString()} [daemon] FATAL ${kind} (pid ${process.pid}): ${detail}
|
|
662450
662479
|
`;
|
|
662451
662480
|
try {
|
|
662452
|
-
|
|
662481
|
+
appendFileSync8(getDaemonLogPath(), line, { mode: 384 });
|
|
662453
662482
|
} catch {
|
|
662454
662483
|
try {
|
|
662455
662484
|
process.stderr.write(line);
|