@agentconnect.md/daemon 1.0.0-rc.214 → 1.0.0-rc.216

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.
@@ -10076,7 +10076,7 @@ function planConfigSelection(configOptions, category, desired) {
10076
10076
  const ULTRACODE_EFFORT = "ultracode";
10077
10077
  /** The session `_meta` sent to a Claude runtime on session/new and session/load
10078
10078
  * (`_meta.claudeCode.options` is spread into the SDK `query()` options layer), or
10079
- * undefined off Claude runtimes. Two things ride on it:
10079
+ * undefined off Claude runtimes. Three things ride on it:
10080
10080
  *
10081
10081
  * - `thinking`: recent models default `thinking.display` to "omitted" — thinking
10082
10082
  * blocks stream signature-only with empty text, so the ACP wrapper never emits
@@ -10087,19 +10087,28 @@ const ULTRACODE_EFFORT = "ultracode";
10087
10087
  * `enableWorkflows` rides along so the "pro" plan default (workflows off) doesn't
10088
10088
  * silently drop the orchestration half. Best-effort: on a non-xhigh-capable model
10089
10089
  * or with workflows unavailable the runtime reports `applied.ultracode=false` and
10090
- * the session still runs on its default effort — nothing to fail on our side. */
10091
- function claudeSessionMeta(reasoningEffort, isClaudeRuntime) {
10090
+ * the session still runs on its default effort — nothing to fail on our side.
10091
+ * - `systemPrompt` (top-level, sibling of `claudeCode`): the agent's system-prompt
10092
+ * seed. We send it as `{ append }` so it layers ON TOP of claude-acp's
10093
+ * `claude_code` preset (keeping the coding scaffolding) rather than replacing it.
10094
+ * Honored by claude-agent-acp #91; older runtimes ignore the unknown `_meta` key.
10095
+ * This is the only channel for the system prompt — ACP session/new has no such
10096
+ * field, and other runtimes have no equivalent yet (see cp-overlay.ts). */
10097
+ function claudeSessionMeta(reasoningEffort, isClaudeRuntime, systemPrompt) {
10092
10098
  if (!isClaudeRuntime) return void 0;
10093
- return { claudeCode: { options: {
10094
- thinking: {
10095
- type: "adaptive",
10096
- display: "summarized"
10097
- },
10098
- ...reasoningEffort === "ultracode" ? { settings: {
10099
- ultracode: true,
10100
- enableWorkflows: true
10101
- } } : {}
10102
- } } };
10099
+ return {
10100
+ claudeCode: { options: {
10101
+ thinking: {
10102
+ type: "adaptive",
10103
+ display: "summarized"
10104
+ },
10105
+ ...reasoningEffort === "ultracode" ? { settings: {
10106
+ ultracode: true,
10107
+ enableWorkflows: true
10108
+ } } : {}
10109
+ } },
10110
+ ...systemPrompt ? { systemPrompt: { append: systemPrompt } } : {}
10111
+ };
10103
10112
  }
10104
10113
  /**
10105
10114
  * Extract the model selector from a session's `configOptions`. ACP models are an
@@ -10225,12 +10234,23 @@ var AcpHost = class {
10225
10234
  promptSupports(kind) {
10226
10235
  return Boolean(this.promptCaps[kind]);
10227
10236
  }
10237
+ /** The system-prompt seed to prepend as the first prompt text block of a newly
10238
+ * created session, or undefined when none should be inlined. Only NON-Claude
10239
+ * runtimes get it here: Claude receives the prompt via `_meta.systemPrompt` on
10240
+ * session/new|load (see claudeSessionMeta), so returning undefined for Claude
10241
+ * avoids injecting it twice. The caller (SessionManager) prepends the returned
10242
+ * text ahead of the first turn's blocks, only when it created the ACP session. */
10243
+ inlineSystemPrompt() {
10244
+ const seed = this.opts.configPrefs?.systemPrompt;
10245
+ if (!seed || this.isClaudeRuntime()) return void 0;
10246
+ return seed;
10247
+ }
10228
10248
  /** Create a fresh ACP session. `effortOverride` (the sticky per-session effort choice,
10229
10249
  * when set) takes the place of the agent default in the Claude `_meta` — the only
10230
10250
  * channel `ultracode` can ride (the `thought_level` select rejects it); select-based
10231
10251
  * effort/model/fast overrides are layered on afterward by the daemon at turn start. */
10232
10252
  async newSession(cwd, mcpServers = [], effortOverride) {
10233
- const _meta = claudeSessionMeta(effortOverride ?? this.opts.configPrefs?.reasoningEffort, this.isClaudeRuntime());
10253
+ const _meta = claudeSessionMeta(effortOverride ?? this.opts.configPrefs?.reasoningEffort, this.isClaudeRuntime(), this.opts.configPrefs?.systemPrompt);
10234
10254
  const res = await this.conn.agent.request(methods.agent.session.new, {
10235
10255
  cwd,
10236
10256
  mcpServers,
@@ -10362,7 +10382,7 @@ var AcpHost = class {
10362
10382
  async loadSession(sessionId, cwd, effortOverride) {
10363
10383
  this.loadingSessions.add(sessionId);
10364
10384
  try {
10365
- const _meta = claudeSessionMeta(effortOverride ?? this.opts.configPrefs?.reasoningEffort, this.isClaudeRuntime());
10385
+ const _meta = claudeSessionMeta(effortOverride ?? this.opts.configPrefs?.reasoningEffort, this.isClaudeRuntime(), this.opts.configPrefs?.systemPrompt);
10366
10386
  const res = await this.conn.agent.request(methods.agent.session.load, {
10367
10387
  sessionId,
10368
10388
  cwd,
@@ -10425,4 +10445,4 @@ var AcpHost = class {
10425
10445
  //#endregion
10426
10446
  export { resolveRuntimes as _, initGitInjection as a, simpleGit as c, MAX_FRAME_BYTES as d, buildEnvelope as f, cachedRuntimeVersions as g, cachedRuntimeNames as h, prepareWorkspace as i, isFrame as l, encode as m, installedRuntimes as n, probeGitVersion as o, decodeEnvelope as p, prefetchWorkspace as r, sessionGitEnv as s, AcpHost as t, normalizeGitUrl as u };
10427
10447
 
10428
- //# sourceMappingURL=acp-host-C1MZcqZo.js.map
10448
+ //# sourceMappingURL=acp-host-D4Gc3jWq.js.map