@sema-agent/cli 1.0.24 → 1.0.26
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 +84 -11
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.26",
|
|
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.26",
|
|
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.57",
|
|
13
|
+
"@sema-agent/server": "1.228.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.330.0",
|
|
633
|
+
"resolved": "https://registry.npmjs.org/@sema-agent/core/-/core-1.330.0.tgz",
|
|
634
|
+
"integrity": "sha512-G5TY7YsaLzI96MYssnKLRGIUxvSGqGSVW+mutnQ0R6UdNSFgkiZjr5xZF6yqqvxS2gC0A5LS/7k8gMgmX24YMw==",
|
|
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.57",
|
|
673
|
+
"resolved": "https://registry.npmjs.org/@sema-agent/sdk/-/sdk-0.0.57.tgz",
|
|
674
|
+
"integrity": "sha512-fHNaPVooeYA5CTDUWbX5kjId09nDxSq7OcelW7OmFH3qJwRssdIFiU9GKhYao037v/KOCwF2ommWxQBllgNm7w==",
|
|
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.228.0",
|
|
682
|
+
"resolved": "https://registry.npmjs.org/@sema-agent/server/-/server-1.228.0.tgz",
|
|
683
|
+
"integrity": "sha512-d+uwN/eV1XLCidFJ8cbT0wxSH6iINag8nZXEV6e+0y5cE69YbXbI6uii0ICysfYoVyZ6YXLcQ71n8fVfypdRfA==",
|
|
684
684
|
"license": "BUSL-1.1",
|
|
685
685
|
"dependencies": {
|
|
686
|
-
"@sema-agent/core": "^1.
|
|
686
|
+
"@sema-agent/core": "^1.329.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.26",
|
|
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.57",
|
|
25
|
+
"@sema-agent/server": "1.228.0"
|
|
26
26
|
},
|
|
27
27
|
"overrides": {
|
|
28
|
-
"@sema-agent/core": "1.
|
|
28
|
+
"@sema-agent/core": "1.330.0",
|
|
29
29
|
"@sema-agent/registry-core": "0.10.19"
|
|
30
30
|
},
|
|
31
|
-
"semaEngineVersion": "server 1.
|
|
31
|
+
"semaEngineVersion": "server 1.228.0 / core 1.330.0 / registry-core 0.10.19",
|
|
32
32
|
"engines": {
|
|
33
33
|
"node": ">=18"
|
|
34
34
|
}
|
package/sema.js
CHANGED
|
@@ -157502,6 +157502,19 @@ var init_retainBackgroundWireCaps = __esm({
|
|
|
157502
157502
|
}
|
|
157503
157503
|
});
|
|
157504
157504
|
|
|
157505
|
+
// build-src/src/sema/promptProfileWireCaps.ts
|
|
157506
|
+
function promptProfileFromEnv(env5 = process.env) {
|
|
157507
|
+
const raw2 = env5[PROMPT_PROFILE_ENV];
|
|
157508
|
+
const s = typeof raw2 === "string" ? raw2.trim().toLowerCase() : "";
|
|
157509
|
+
return s === "simple" || s === "classic" ? s : void 0;
|
|
157510
|
+
}
|
|
157511
|
+
var PROMPT_PROFILE_ENV;
|
|
157512
|
+
var init_promptProfileWireCaps = __esm({
|
|
157513
|
+
"build-src/src/sema/promptProfileWireCaps.ts"() {
|
|
157514
|
+
PROMPT_PROFILE_ENV = "SEMA_PROMPT_PROFILE";
|
|
157515
|
+
}
|
|
157516
|
+
});
|
|
157517
|
+
|
|
157505
157518
|
// build-src/src/sema/forkWireCaps.ts
|
|
157506
157519
|
function isTruthy2(v2) {
|
|
157507
157520
|
const s = v2.trim().toLowerCase();
|
|
@@ -223591,7 +223604,7 @@ function getImageTooLargeErrorMessage() {
|
|
|
223591
223604
|
}
|
|
223592
223605
|
function getRequestTooLargeErrorMessage() {
|
|
223593
223606
|
const limits = `max ${formatFileSize(PDF_TARGET_RAW_SIZE)}`;
|
|
223594
|
-
return getIsNonInteractiveSession() ? `Request too large (${limits}).
|
|
223607
|
+
return getIsNonInteractiveSession() ? `Request too large (${limits}). Accumulated images and attachments in the conversation pushed the request over the limit. Remove older images or compact the conversation.` : `Request too large (${limits}). Accumulated images and attachments in the conversation pushed the request over the limit. Run /compact, or double press esc to go back and remove attachments.`;
|
|
223595
223608
|
}
|
|
223596
223609
|
function getTokenRevokedErrorMessage() {
|
|
223597
223610
|
return getIsNonInteractiveSession() ? "Your account does not have access to Claude. Please login again or contact your administrator." : TOKEN_REVOKED_ERROR_MESSAGE;
|
|
@@ -353782,7 +353795,7 @@ function useClaudeAiLimits() {
|
|
|
353782
353795
|
var import_react64;
|
|
353783
353796
|
var init_claudeAiLimitsHook = __esm({
|
|
353784
353797
|
"build-src/src/services/claudeAiLimitsHook.ts"() {
|
|
353785
|
-
import_react64 = __toESM(require_react()
|
|
353798
|
+
import_react64 = __toESM(require_react());
|
|
353786
353799
|
init_claudeAiLimits();
|
|
353787
353800
|
}
|
|
353788
353801
|
});
|
|
@@ -354306,7 +354319,7 @@ var init_classifierApprovalsHook = __esm({
|
|
|
354306
354319
|
var React29, SentryErrorBoundary;
|
|
354307
354320
|
var init_SentryErrorBoundary = __esm({
|
|
354308
354321
|
"build-src/src/components/SentryErrorBoundary.ts"() {
|
|
354309
|
-
React29 = __toESM(require_react());
|
|
354322
|
+
React29 = __toESM(require_react(), 1);
|
|
354310
354323
|
SentryErrorBoundary = class extends React29.Component {
|
|
354311
354324
|
constructor(props) {
|
|
354312
354325
|
super(props);
|
|
@@ -433379,6 +433392,10 @@ function toTaskRequest(params) {
|
|
|
433379
433392
|
console.error("[sema][seamQuery] deferTools wire: Workflow deferred (no activation source this turn)");
|
|
433380
433393
|
}
|
|
433381
433394
|
const retainBackground = process.env.SEMA_LIVE_BASEURL ? retainBackgroundFromEnv() : void 0;
|
|
433395
|
+
const promptProfile = process.env.SEMA_LIVE_BASEURL ? promptProfileFromEnv() : void 0;
|
|
433396
|
+
if (promptProfile && process.env.SEMA_DEBUG) {
|
|
433397
|
+
console.error("[sema][seamQuery] promptProfile wire \u2192 TaskRequest.promptProfile=" + promptProfile);
|
|
433398
|
+
}
|
|
433382
433399
|
if (retainBackground && process.env.SEMA_DEBUG) {
|
|
433383
433400
|
console.error("[sema][seamQuery] retainBackground wire: SEMA_RETAIN_BACKGROUND \u2192 TaskRequest.retainBackgroundProcesses=true");
|
|
433384
433401
|
}
|
|
@@ -433465,6 +433482,7 @@ ${objective}`;
|
|
|
433465
433482
|
// core 1.314 placeholder-on-wire, schema bytes out of the cache prefix, ToolSearch-activatable.
|
|
433466
433483
|
...deferTools ? { deferTools } : {},
|
|
433467
433484
|
...retainBackground ? { retainBackgroundProcesses: retainBackground } : {},
|
|
433485
|
+
...promptProfile ? { promptProfile } : {},
|
|
433468
433486
|
// Fork super-set: the top-level enableFork flag — EXPLICIT boolean on live (core ≥1.257 treats absent
|
|
433469
433487
|
// as granted; the shell's default-OFF product decision must be spelled out). Mock path stays unstamped.
|
|
433470
433488
|
...enableFork !== void 0 ? { enableFork } : {},
|
|
@@ -433786,6 +433804,7 @@ var init_seamQuery = __esm({
|
|
|
433786
433804
|
init_webSearchWireCaps();
|
|
433787
433805
|
init_selfOrchestrationWireCaps();
|
|
433788
433806
|
init_retainBackgroundWireCaps();
|
|
433807
|
+
init_promptProfileWireCaps();
|
|
433789
433808
|
init_forkWireCaps();
|
|
433790
433809
|
init_attachmentsWireCaps();
|
|
433791
433810
|
init_clientContextWireCaps();
|
|
@@ -479593,8 +479612,8 @@ var init_sema_brand = __esm({
|
|
|
479593
479612
|
"Slash-command gating wired to the fleet capability handshake"
|
|
479594
479613
|
]
|
|
479595
479614
|
},
|
|
479596
|
-
productVersion: "1.0.
|
|
479597
|
-
announcement: "sema 1.0.
|
|
479615
|
+
productVersion: "1.0.26",
|
|
479616
|
+
announcement: "sema 1.0.26 \u2014 the simple prompt profile now truly swaps in its short-form sections end to end (no more legacy stacking), thinking models stop burning their final write-out window on reasoning, and --debug-file takes its path argument correctly."
|
|
479598
479617
|
};
|
|
479599
479618
|
}
|
|
479600
479619
|
});
|
|
@@ -482528,8 +482547,8 @@ var require_sema_brand = __commonJS({
|
|
|
482528
482547
|
"Slash-command gating wired to the fleet capability handshake"
|
|
482529
482548
|
]
|
|
482530
482549
|
},
|
|
482531
|
-
productVersion: "1.0.
|
|
482532
|
-
announcement: "sema 1.0.
|
|
482550
|
+
productVersion: "1.0.26",
|
|
482551
|
+
announcement: "sema 1.0.26 \u2014 the simple prompt profile now truly swaps in its short-form sections end to end (no more legacy stacking), thinking models stop burning their final write-out window on reasoning, and --debug-file takes its path argument correctly."
|
|
482533
482552
|
};
|
|
482534
482553
|
}
|
|
482535
482554
|
});
|
|
@@ -553427,6 +553446,43 @@ tool here.)`;
|
|
|
553427
553446
|
}
|
|
553428
553447
|
});
|
|
553429
553448
|
|
|
553449
|
+
// node_modules/@sema-agent/core/dist/prompts/simple-sections.js
|
|
553450
|
+
var SIMPLE_COMMUNICATING_FABLE, SIMPLE_COMMUNICATING_LEAN, SIMPLE_ACTION_CAUTION, SIMPLE_TASK_CONTINUITY, SIMPLE_INVESTIGATE_FIRST, SIMPLE_CONTEXT_MANAGEMENT, SIMPLE_ACT_DONT_REDERIVE, SIMPLE_PRONOUNS, SIMPLE_TOOL_PARAM_JSON, SIMPLE_AUTONOMY_FABLE;
|
|
553451
|
+
var init_simple_sections = __esm({
|
|
553452
|
+
"node_modules/@sema-agent/core/dist/prompts/simple-sections.js"() {
|
|
553453
|
+
SIMPLE_COMMUNICATING_FABLE = `# Communicating with the user
|
|
553454
|
+
|
|
553455
|
+
Your text output is what the user reads; they usually can't see your thinking or the raw tool results. Write it for a teammate who stepped away and is catching up, not for a log file: they don't know the codenames or shorthand you created along the way, and they didn't watch your process unfold. Before your first tool call, say in a sentence what you're about to do; while working, give brief updates when you find something load-bearing or change direction.
|
|
553456
|
+
|
|
553457
|
+
Text you write between tool calls may not be shown to the user. Everything the user needs from this turn \u2014 answers, summaries, findings, conclusions, deliverables \u2014 must be in the final text message of your turn, with no tool calls after it. Keep text between tool calls to brief status notes. If something important appeared only mid-turn or in your thinking, restate it in that final message.
|
|
553458
|
+
|
|
553459
|
+
Lead with the outcome. Your first sentence after finishing should answer "what happened" or "what did you find" \u2014 the thing the user would ask for if they said "just give me the TLDR." Supporting detail and reasoning come after, for readers who want them.
|
|
553460
|
+
|
|
553461
|
+
Being readable and being concise are different things, and readable matters more. If the user has to reread your summary or ask you to explain, any time saved by brevity is gone. The way to keep output short is to be selective about what you include (drop details that don't change what the reader would do next), not to compress the writing into fragments, abbreviations, arrow chains like \`A \u2192 B \u2192 fails\`, or jargon. What you do include, write in complete sentences with the technical terms spelled out. Don't make the reader cross-reference labels or numbering you invented earlier; say what you mean in place.
|
|
553462
|
+
|
|
553463
|
+
Match the response to the question: a simple question gets a direct answer in prose, not headers and sections. Use tables only for short enumerable facts, with explanations in the surrounding prose rather than the cells. Calibrate to the user \u2014 a bit tighter for an expert, more explanatory for someone newer.
|
|
553464
|
+
|
|
553465
|
+
Write code that reads like the surrounding code: match its comment density, naming, and idiom.
|
|
553466
|
+
Only write a code comment to state a constraint the code itself can't show \u2014 never to say where it came from, what the next line does, or why your change is correct; that's you talking to the reviewer, not the next reader, and it's noise the moment the PR merges.`;
|
|
553467
|
+
SIMPLE_COMMUNICATING_LEAN = "Write code that reads like the surrounding code: match its comment density, naming, and idiom.";
|
|
553468
|
+
SIMPLE_ACTION_CAUTION = "For actions that are hard to reverse or outward-facing, confirm first unless durably authorized or explicitly told to proceed without asking; approval in one context doesn't extend to the next. Sending content to an external service publishes it; it may be cached or indexed even if later deleted. Before deleting or overwriting, look at the target \u2014 if what you find contradicts how it was described, or you didn't create it, surface that instead of proceeding. Report outcomes faithfully: if tests fail, say so with the output; if a step was skipped, say that; when something is done and verified, state it plainly without hedging.";
|
|
553469
|
+
SIMPLE_TASK_CONTINUITY = "When a task has been agreed, the approval covers it end to end \u2014 in-scope steps don't need re-confirmation (irreversible or shared-system actions still do). Announcing a step without the tool call in the same turn hands control back with the work still pending; if the next step is decided, run it. Hand back only when done, waiting on something external, or the next step needs the user's decision. If the user asks something mid-task, answer and continue.";
|
|
553470
|
+
SIMPLE_INVESTIGATE_FIRST = 'Asking the user a clarifying question has a cost: it interrupts them, and often they could have answered it themselves with a grep. Before asking, spend up to a minute on read-only investigation (grep the codebase, check docs, search memory) so your question is specific. "I found tunnels X and Y in the config \u2014 which one?" beats "what tunnel?"';
|
|
553471
|
+
SIMPLE_CONTEXT_MANAGEMENT = `# Context management
|
|
553472
|
+
When the conversation grows long, some or all of the current context is summarized; the summary, along with any remaining unsummarized context, is provided in the next context window so work can continue \u2014 you don't need to wrap up early or hand off mid-task.`;
|
|
553473
|
+
SIMPLE_ACT_DONT_REDERIVE = "When you have enough information to act, act. Do not re-derive facts already established in the conversation, re-litigate a decision the user has already made, or narrate options you will not pursue. If you are weighing a choice, give a recommendation, not an exhaustive survey";
|
|
553474
|
+
SIMPLE_PRONOUNS = "When you use a pronoun for someone \u2014 the user or anyone else you mention \u2014 and their pronouns haven't been stated, use they/them. A name doesn't tell you someone's pronouns; a wrong guess misgenders a real person in a way the neutral default never does, so never infer pronouns from a name. This applies to all user-visible text, including visible thinking.";
|
|
553475
|
+
SIMPLE_TOOL_PARAM_JSON = "Object and array parameter values must be a single JSON value \u2014 never write parameter-tag markup inside a JSON value.";
|
|
553476
|
+
SIMPLE_AUTONOMY_FABLE = `You are operating autonomously. The user is not watching in real time and cannot answer questions mid-task, so asking 'Want me to\u2026?' or 'Shall I\u2026?' will block the work. For reversible actions that follow from the original request, proceed without asking. Stop only for destructive actions or genuine scope changes the user must decide. Offering follow-ups after the task is done is fine; asking permission before doing the work is not.
|
|
553477
|
+
|
|
553478
|
+
Exception: when the user is describing a problem, asking a question, or thinking out loud rather than requesting a change, the deliverable is your assessment. Report your findings and stop. Don't apply a fix until they ask for one.
|
|
553479
|
+
|
|
553480
|
+
Before ending your turn, check your last paragraph. If it is a plan, an analysis, a question, a list of next steps, or a promise about work you have not done ('I'll\u2026', 'let me know when\u2026'), do that work now with tool calls. That includes retrying after errors and gathering missing information yourself. Do not stop because the context or session is long. End your turn only when the task is complete or you are blocked on input only the user can provide.
|
|
553481
|
+
|
|
553482
|
+
Before running a command that changes system state \u2014 restarts, deletes, config edits \u2014 check that the evidence actually supports that specific action. A signal that pattern-matches to a known failure may have a different cause.`;
|
|
553483
|
+
}
|
|
553484
|
+
});
|
|
553485
|
+
|
|
553430
553486
|
// node_modules/@sema-agent/core/dist/prompts/default.js
|
|
553431
553487
|
function harnessHeadLines(ctx) {
|
|
553432
553488
|
const lines = [
|
|
@@ -553448,6 +553504,7 @@ var init_default6 = __esm({
|
|
|
553448
553504
|
"node_modules/@sema-agent/core/dist/prompts/default.js"() {
|
|
553449
553505
|
init_untrusted_text();
|
|
553450
553506
|
init_supervisor();
|
|
553507
|
+
init_simple_sections();
|
|
553451
553508
|
OUTPUT_EFFICIENCY = "If you can say it in one sentence, don't use three. Go straight to the point, don't go in circles, don't overdo it. (This does not apply to code or tool calls.)";
|
|
553452
553509
|
DEFAULT_SYSTEM_PROMPT = `You are a capable AI agent that acts through tools.
|
|
553453
553510
|
|
|
@@ -553644,6 +553701,7 @@ var init_sema_default = __esm({
|
|
|
553644
553701
|
init_default6();
|
|
553645
553702
|
init_supervisor();
|
|
553646
553703
|
init_coordinator();
|
|
553704
|
+
init_simple_sections();
|
|
553647
553705
|
CORE = {
|
|
553648
553706
|
owner: "core",
|
|
553649
553707
|
trust: "locked",
|
|
@@ -553683,6 +553741,15 @@ var init_sema_default = __esm({
|
|
|
553683
553741
|
content: () => EXECUTION_ENVIRONMENT,
|
|
553684
553742
|
legacyBlockId: "harness.context"
|
|
553685
553743
|
},
|
|
553744
|
+
{ id: "core/simple.communicating", slot: "harness", rank: 250, ...CORE, admit: (i) => i.facts.promptProfile !== "classic", content: (i) => i.facts.fableMitigations === true ? SIMPLE_COMMUNICATING_FABLE : SIMPLE_COMMUNICATING_LEAN, legacyBlockId: "harness.context" },
|
|
553745
|
+
{ id: "core/simple.pronouns", slot: "harness", rank: 252, ...CORE, admit: (i) => i.facts.promptProfile !== "classic", content: () => SIMPLE_PRONOUNS, legacyBlockId: "harness.context" },
|
|
553746
|
+
{ id: "core/simple.action-caution", slot: "harness", rank: 254, ...CORE, admit: (i) => i.facts.promptProfile !== "classic", content: () => SIMPLE_ACTION_CAUTION, legacyBlockId: "harness.context" },
|
|
553747
|
+
{ id: "core/simple.task-continuity", slot: "harness", rank: 256, ...CORE, admit: (i) => i.facts.promptProfile !== "classic", content: () => SIMPLE_TASK_CONTINUITY, legacyBlockId: "harness.context" },
|
|
553748
|
+
{ id: "core/simple.tool-param-json", slot: "harness", rank: 258, ...CORE, admit: (i) => i.facts.promptProfile !== "classic", content: () => SIMPLE_TOOL_PARAM_JSON, legacyBlockId: "harness.context" },
|
|
553749
|
+
{ id: "core/simple.investigate-first", slot: "harness", rank: 260, ...CORE, admit: (i) => i.facts.promptProfile !== "classic", content: () => SIMPLE_INVESTIGATE_FIRST, legacyBlockId: "harness.context" },
|
|
553750
|
+
{ id: "core/simple.context-management", slot: "harness", rank: 262, ...CORE, admit: (i) => i.facts.promptProfile !== "classic" && i.facts.withinTaskCompactionEnabled, content: () => SIMPLE_CONTEXT_MANAGEMENT, legacyBlockId: "harness.context" },
|
|
553751
|
+
{ id: "core/simple.act-dont-rederive", slot: "harness", rank: 264, ...CORE, admit: (i) => i.facts.promptProfile !== "classic", content: () => SIMPLE_ACT_DONT_REDERIVE, legacyBlockId: "harness.context" },
|
|
553752
|
+
{ id: "core/simple.autonomy", slot: "harness", rank: 266, ...CORE, admit: (i) => i.facts.promptProfile !== "classic" && i.facts.fableMitigations === true, content: () => SIMPLE_AUTONOMY_FABLE, legacyBlockId: "harness.context" },
|
|
553686
553753
|
{ id: "core/mode.supervisor", slot: "mode", rank: 300, ...MODE, admit: (i) => i.facts.supervisorEnabled, content: () => SUPERVISOR_PROMPT, legacyBlockId: "mode.supervisor" },
|
|
553687
553754
|
{ id: "core/mode.orchestration", slot: "mode", rank: 310, ...MODE, admit: (i) => i.facts.orchestrationEnabled, content: (i) => i.facts.orchestrationDeferred === true ? ORCHESTRATION_GUIDANCE_DEFERRED : ORCHESTRATION_GUIDANCE, legacyBlockId: "mode.orchestration" },
|
|
553688
553755
|
{ id: "core/mode.awareness", slot: "mode", rank: 320, ...MODE, admit: (i) => i.facts.awarenessEnabled, content: () => ORCHESTRATION_AWARENESS, legacyBlockId: "mode.awareness" },
|
|
@@ -607860,8 +607927,8 @@ function _temp161() {
|
|
|
607860
607927
|
var import_compiler_runtime316, import_react313, SETTINGS_ERRORS_NOTIFICATION_KEY;
|
|
607861
607928
|
var init_useSettingsErrors = __esm({
|
|
607862
607929
|
"build-src/src/hooks/notifs/useSettingsErrors.tsx"() {
|
|
607863
|
-
import_compiler_runtime316 = __toESM(require_compiler_runtime());
|
|
607864
|
-
import_react313 = __toESM(require_react());
|
|
607930
|
+
import_compiler_runtime316 = __toESM(require_compiler_runtime(), 1);
|
|
607931
|
+
import_react313 = __toESM(require_react(), 1);
|
|
607865
607932
|
init_notifications();
|
|
607866
607933
|
init_state();
|
|
607867
607934
|
init_allErrors();
|
|
@@ -629705,6 +629772,10 @@ async function* ask(params) {
|
|
|
629705
629772
|
console.error("[sema] print-mode ask: deferTools wire \u2192 Workflow deferred (no activation source)");
|
|
629706
629773
|
}
|
|
629707
629774
|
const retainBackground = process.env.SEMA_LIVE_BASEURL ? retainBackgroundFromEnv() : void 0;
|
|
629775
|
+
const promptProfile = process.env.SEMA_LIVE_BASEURL ? promptProfileFromEnv() : void 0;
|
|
629776
|
+
if (promptProfile && process.env.SEMA_DEBUG) {
|
|
629777
|
+
console.error("[sema] print-mode ask: promptProfile wire \u2192 TaskRequest.promptProfile=" + promptProfile);
|
|
629778
|
+
}
|
|
629708
629779
|
if (retainBackground && process.env.SEMA_DEBUG) {
|
|
629709
629780
|
console.error("[sema] print-mode ask: retainBackground wire \u2192 TaskRequest.retainBackgroundProcesses=true");
|
|
629710
629781
|
}
|
|
@@ -629902,6 +629973,7 @@ async function* ask(params) {
|
|
|
629902
629973
|
// Workflow deferred-disclosure ([1052]①): absent = fully exposed (activation turn / opt-out).
|
|
629903
629974
|
...deferTools ? { deferTools } : {},
|
|
629904
629975
|
...retainBackground ? { retainBackgroundProcesses: retainBackground } : {},
|
|
629976
|
+
...promptProfile ? { promptProfile } : {},
|
|
629905
629977
|
...enableFork !== void 0 ? { enableFork } : {},
|
|
629906
629978
|
...attachments ? { attachments } : {},
|
|
629907
629979
|
...skillsMcpFields
|
|
@@ -630094,6 +630166,7 @@ var init_seamQueryEngine = __esm({
|
|
|
630094
630166
|
init_selfOrchestrationWireCaps();
|
|
630095
630167
|
init_ultracodeWireCaps();
|
|
630096
630168
|
init_retainBackgroundWireCaps();
|
|
630169
|
+
init_promptProfileWireCaps();
|
|
630097
630170
|
init_forkWireCaps();
|
|
630098
630171
|
init_attachmentsWireCaps();
|
|
630099
630172
|
init_hooksWireCaps();
|
|
@@ -651871,7 +651944,7 @@ async function run() {
|
|
|
651871
651944
|
});
|
|
651872
651945
|
program2.name("sema").description(`Sema - starts an interactive session by default, use -p/--print for non-interactive output`).argument("[prompt]", "Your prompt", String).helpOption("-h, --help", "Display help for command").option("-d, --debug [filter]", 'Enable debug mode with optional category filtering (e.g., "api,hooks" or "!1p,!file")', (_value) => {
|
|
651873
651946
|
return true;
|
|
651874
|
-
}).addOption(new Option("-d2e, --debug-to-stderr", "Enable debug mode (to stderr)").argParser(Boolean).hideHelp()).option("--debug-file <path>", "Write debug logs to a specific file path (implicitly enables debug mode)"
|
|
651947
|
+
}).addOption(new Option("-d2e, --debug-to-stderr", "Enable debug mode (to stderr)").argParser(Boolean).hideHelp()).option("--debug-file <path>", "Write debug logs to a specific file path (implicitly enables debug mode)").option("--verbose", "Override verbose mode setting from config", () => true).option("-p, --print", "Print response and exit (useful for pipes). Note: The workspace trust dialog is skipped when Claude is run with the -p mode. Only use this flag in directories you trust.", () => true).option("--bare", "Minimal mode: skip hooks, LSP, plugin sync, attribution, auto-memory, background prefetches, keychain reads, and CLAUDE.md auto-discovery. Sets SEMA_CODE_SIMPLE=1. Anthropic auth is strictly ANTHROPIC_API_KEY or apiKeyHelper via --settings (OAuth and keychain are never read). 3P providers (Bedrock/Vertex/Foundry) use their own credentials. Skills still resolve via /skill-name. Explicitly provide context via: --system-prompt[-file], --append-system-prompt[-file], --add-dir (CLAUDE.md dirs), --mcp-config, --settings, --agents, --plugin-dir.", () => true).option("--safe-mode", "Start with all customizations (CLAUDE.md, skills, plugins, hooks, MCP servers, custom commands and agents, output styles, workflows, custom themes, keybindings, and more) disabled \u2014 useful for troubleshooting a broken configuration. Admin-managed (policy) settings still apply. Auth, model selection, built-in tools, and permissions work normally. Sets SEMA_CODE_SAFE_MODE=1.", () => true).addOption(new Option("--init", "Run Setup hooks with init trigger, then continue").hideHelp()).addOption(new Option("--init-only", "Run Setup and SessionStart:startup hooks, then exit").hideHelp()).addOption(new Option("--maintenance", "Run Setup hooks with maintenance trigger, then continue").hideHelp()).addOption(new Option("--output-format <format>", 'Output format (only works with --print): "text" (default), "json" (single result), or "stream-json" (realtime streaming)').choices(["text", "json", "stream-json"])).addOption(new Option("--json-schema <schema>", 'JSON Schema for structured output validation. Example: {"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}').argParser(String)).option("--include-hook-events", "Include all hook lifecycle events in the output stream (only works with --output-format=stream-json)", () => true).option("--include-partial-messages", "Include partial message chunks as they arrive (only works with --print and --output-format=stream-json)", () => true).addOption(new Option("--input-format <format>", 'Input format (only works with --print): "text" (default), or "stream-json" (realtime streaming input)').choices(["text", "stream-json"])).option("--mcp-debug", "[DEPRECATED. Use --debug instead] Enable MCP debug mode (shows MCP server errors)", () => true).option("--dangerously-skip-permissions", "Bypass all permission checks. Recommended only for sandboxes with no internet access.", () => true).option("--allow-dangerously-skip-permissions", "Enable bypassing all permission checks as an option, without it being enabled by default. Recommended only for sandboxes with no internet access.", () => true).addOption(new Option("--thinking <mode>", "Thinking mode: enabled (equivalent to adaptive), disabled").choices(["enabled", "adaptive", "disabled"]).hideHelp()).addOption(new Option("--thinking-display <display>", "How thinking content appears in the response").choices(["summarized", "omitted"]).hideHelp()).addOption(new Option("--max-thinking-tokens <tokens>", "[DEPRECATED. Use --thinking instead for newer models] Maximum number of thinking tokens (only works with --print)").argParser(Number).hideHelp()).addOption(new Option("--max-turns <turns>", "Maximum number of agentic turns in non-interactive mode. This will early exit the conversation after the specified number of turns. (only works with --print)").argParser(Number).hideHelp()).addOption(new Option("--max-budget-usd <amount>", "Maximum dollar amount to spend on API calls (only works with --print)").argParser((value) => {
|
|
651875
651948
|
const amount = Number(value);
|
|
651876
651949
|
if (isNaN(amount) || amount <= 0) {
|
|
651877
651950
|
throw new Error("--max-budget-usd must be a positive number greater than 0");
|
|
@@ -654011,7 +654084,7 @@ Auth: unix socket -R \u2192 local proxy`, "info");
|
|
|
654011
654084
|
pendingHookMessages
|
|
654012
654085
|
}, renderAndRun);
|
|
654013
654086
|
}
|
|
654014
|
-
}).version("sema 1.0.
|
|
654087
|
+
}).version("sema 1.0.26", "-v, --version", "Output the version number");
|
|
654015
654088
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
654016
654089
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
654017
654090
|
if (canUserConfigureAdvisor()) {
|