@moxt-ai/mobius 0.0.341 → 0.0.342

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.
Files changed (43) hide show
  1. package/dist/acp/adapter/claude/agent-connection.js +1 -1
  2. package/dist/acp/adapter/claude/agent-connection.js.map +1 -1
  3. package/dist/acp/adapter/codex/agent-connection.js +1 -1
  4. package/dist/acp/adapter/codex/agent-connection.js.map +1 -1
  5. package/dist/acp/adapter/pi/agent-connection.js +1 -1
  6. package/dist/acp/adapter/pi/agent-connection.js.map +1 -1
  7. package/dist/acp/adapter/session-events.d.ts +2 -1
  8. package/dist/acp/adapter/session-events.d.ts.map +1 -1
  9. package/dist/acp/adapter/session-events.js +7 -7
  10. package/dist/acp/adapter/session-events.js.map +1 -1
  11. package/dist/acp/agent/in-process-endpoint.d.ts +3 -1
  12. package/dist/acp/agent/in-process-endpoint.d.ts.map +1 -1
  13. package/dist/acp/connection/agent-connection.d.ts +2 -2
  14. package/dist/acp/connection/agent-connection.d.ts.map +1 -1
  15. package/dist/acp/harness/claude/endpoint.js +1 -1
  16. package/dist/acp/harness/claude/endpoint.js.map +1 -1
  17. package/dist/acp/harness/codex/agent.js +3 -3
  18. package/dist/acp/harness/codex/agent.js.map +1 -1
  19. package/dist/acp/harness/codex/owned-agent.d.ts +2 -2
  20. package/dist/acp/harness/codex/owned-agent.d.ts.map +1 -1
  21. package/dist/acp/harness/codex/owned-agent.js +3 -3
  22. package/dist/acp/harness/codex/owned-agent.js.map +1 -1
  23. package/dist/cli.js +175 -77
  24. package/dist/cli.js.map +4 -4
  25. package/dist/daemon/upgrades/upgrade.js +4 -7
  26. package/dist/daemon/upgrades/upgrade.js.map +1 -1
  27. package/dist/runtime.js +159 -65
  28. package/dist/runtime.js.map +4 -4
  29. package/dist/session/api/session-api.d.ts +3 -2
  30. package/dist/session/api/session-api.d.ts.map +1 -1
  31. package/dist/session/api/session-api.js +1 -1
  32. package/dist/session/api/session-api.js.map +1 -1
  33. package/dist/session/api/session-layer.d.ts +3 -2
  34. package/dist/session/api/session-layer.d.ts.map +1 -1
  35. package/dist/session/api/session-layer.js +4 -4
  36. package/dist/session/api/session-layer.js.map +1 -1
  37. package/dist/session/live/agent-session.js +1 -1
  38. package/dist/session/live/agent-session.js.map +1 -1
  39. package/dist/session/turn/runtime-turn-activity.d.ts +5 -2
  40. package/dist/session/turn/runtime-turn-activity.d.ts.map +1 -1
  41. package/dist/session/turn/runtime-turn-activity.js +15 -10
  42. package/dist/session/turn/runtime-turn-activity.js.map +1 -1
  43. package/package.json +1 -1
@@ -211,14 +211,11 @@ async function checkDaemonReleaseUpgrade(signal, activity) {
211
211
  const launch = await installDaemonReleaseVersion(version, signal);
212
212
  let reservation = activity.reserveIfQuiet(UPGRADE_QUIET_MILLISECONDS);
213
213
  if (reservation === null) {
214
- new RuntimeDiagnosticLog(control.stateDirectory).record(`Mobius daemon diagnostic ${JSON.stringify({
215
- timestamp: new Date().toISOString(),
216
- event: "daemon_upgrade_deferred",
217
- version,
218
- activeWork: activity.count(),
219
- ...activity.describe(),
220
- })}`);
214
+ const diagnostics = new RuntimeDiagnosticLog(control.stateDirectory);
215
+ const record = (event, details = {}) => diagnostics.record(`Mobius daemon diagnostic ${JSON.stringify({ timestamp: new Date().toISOString(), event, version, ...details })}`);
216
+ record("daemon_upgrade_deferred", { activeWork: activity.count(), ...activity.describe() });
221
217
  reservation = await reserveWhenQuiet(activity, signal);
218
+ record("daemon_upgrade_released");
222
219
  }
223
220
  const _reservation = __addDisposableResource(env_1, reservation, false);
224
221
  signal.throwIfAborted();
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../../src/daemon/upgrades/upgrade.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAA6B,MAAM,8BAA8B,CAAC;AAC3F,OAAO,eAAe,MAAM,uBAAuB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAC;AAGrF,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAiC,4BAA4B,EAAqB,MAAM,wBAAwB,CAAC;AACxH,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,EAAE,yBAAyB,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAEnH,iFAAiF;AACjF,MAAM,8BAA8B,GAAG,OAAO,CAAC;AAC/C,MAAM,wBAAwB,GAAG,GAAG,CAAC;AACrC,mFAAmF;AACnF,2EAA2E;AAC3E,MAAM,0BAA0B,GAAG,EAAE,GAAG,MAAM,CAAC;AAC/C,MAAM,gCAAgC,GAAG,MAAM,CAAC;AAEhD,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACjD,IAA4C,EAC5C,MAAmB;IAEnB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACrB,OAAO;IACX,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,6BAA6B,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACzE,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAChF,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACtB,OAAO;IACX,CAAC;IACD,MAAM,IAAI,GAAG;QACT,IAAI,EAAE,wBAAwB;QAC9B,SAAS,EAAE,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1C,OAAO,EAAE,eAAe,CAAC,OAAO;QAChC,aAAa,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO;KACzC,CAAC;IACF,IAAI,UAAU,CAAC,IAAI,KAAK,aAAa,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,KAAK,eAAe,CAAC,OAAO,EAAE,CAAC;QAC/F,IAAI,CAAC;YACD,GAAG,IAAI;YACP,IAAI,EAAE,wBAAwB;YAC9B,OAAO,EAAE;gBACL,MAAM,EAAE,QAAQ;gBAChB,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,OAAO,EAAE,UAAU,CAAC,OAAO;gBAC3B,UAAU,EAAE,UAAU,CAAC,UAAU;gBACjC,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,MAAM,EAAE,UAAU,CAAC,MAAM;aAC5B;SACJ,CAAC,CAAC;IACP,CAAC;SAAM,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,KAAK,eAAe,CAAC,OAAO,EAAE,CAAC;QAC7D,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;IACxF,CAAC;AACL,CAAC;AAED,oFAAoF;AACpF,gEAAgE;AAChE,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,MAAmB,EAAE,QAA6B;IAC7F,IAAI,CAAC;QACD,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YACtE,IAAI,CAAC;gBACD,MAAM,yBAAyB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACtD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,CAAC,cAAc,EAAE,CAAC;gBACxB,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;YAC5D,CAAC;QACL,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;AACL,CAAC;AAUD,8EAA8E;AAC9E,0EAA0E;AAC1E,2CAA2C;AAC3C,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC7C,cAAqC,EACrC,cAAsB,EACtB,MAAmB;IAEnB,MAAM,OAAO,GAAG,MAAM,2BAA2B,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAC1E,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC/B,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,2BAA2B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAClE,OAAO,MAAM,mCAAmC,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AACrF,CAAC;AAED,KAAK,UAAU,mCAAmC,CAC9C,cAAqC,EACrC,MAAoB,EACpB,MAAmB;IAEnB,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;IACxB,MAAM,QAAQ,GAAG,4BAA4B,CACzC,MAAM,gBAAgB,CAAC,cAAc,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,CAC5G,CAAC;IACF,IAAI,QAAQ,EAAE,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7B,MAAM,IAAI,yBAAyB,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,QAAQ,EAAE,IAAI,KAAK,WAAW,EAAE,CAAC;QACjC,MAAM,IAAI,yBAAyB,CAAC,sBAAsB,EAAE,+CAA+C,CAAC,CAAC;IACjH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;AAC9D,CAAC;AAED,8EAA8E;AAC9E,gFAAgF;AAChF,6DAA6D;AAC7D,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC1C,cAAqC,EACrC,EAAU,EACV,MAAmB;IAEnB,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC;IAChG,IAAI,OAA+C,CAAC;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACvB,IAAI,KAAsC,CAAC;QAC3C,IAAI,CAAC;YACD,KAAK,GAAG,MAAM,gBAAgB,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,iFAAiF;YACjF,IAAI,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC,EAAE,CAAC;gBACrE,MAAM,KAAK,CAAC;YAChB,CAAC;YACD,QAAQ,CAAC,cAAc,EAAE,CAAC;YAC1B,KAAK,GAAG,IAAI,CAAC;QACjB,CAAC;QACD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAClE,OAAO,GAAG,KAAK,CAAC;YAChB,MAAM;QACV,CAAC;QACD,MAAM,UAAU,CAAC,wBAAwB,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAChF,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,QAAQ,CAAC,MAAM,CAAC;IAC1B,CAAC;IACD,yEAAyE;IACzE,kEAAkE;IAClE,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACjC,QAAQ,CAAC,cAAc,EAAE,CAAC;QAC1B,MAAM,gBAAgB,CAAC,cAAc,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAClF,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,QAA6B,EAAE,MAAmB;IAC9E,SAAS,CAAC;QACN,MAAM,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAChC,8EAA8E;QAC9E,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,WAAW,CAAC,gCAAgC,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YAC7F,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,0BAA0B,CAAC,CAAC;YACxE,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;gBACvB,OAAO,WAAW,CAAC;YACvB,CAAC;YACD,IAAI,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM;YACV,CAAC;QACL,CAAC;QACD,MAAM,CAAC,cAAc,EAAE,CAAC;IAC5B,CAAC;AACL,CAAC;AAED,KAAK,UAAU,yBAAyB,CAAC,MAAmB,EAAE,QAA6B;;;QACvF,MAAM,OAAO,GAAG,MAAM,6BAA6B,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACzE,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QAC1E,IACI,UAAU,EAAE,IAAI,KAAK,WAAW;YAChC,CAAC,UAAU,EAAE,IAAI,KAAK,aAAa,IAAI,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,EAC5E,CAAC;YACC,OAAO;QACX,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,2BAA2B,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACnF,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACnB,OAAO;QACX,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,2BAA2B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAClE,IAAI,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,0BAA0B,CAAC,CAAC;QACtE,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACvB,IAAI,oBAAoB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,MAAM,CACnD,4BAA4B,IAAI,CAAC,SAAS,CAAC;gBACvC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,KAAK,EAAE,yBAAyB;gBAChC,OAAO;gBACP,UAAU,EAAE,QAAQ,CAAC,KAAK,EAAE;gBAC5B,GAAG,QAAQ,CAAC,QAAQ,EAAE;aACzB,CAAC,EAAE,CACP,CAAC;YACF,WAAW,GAAG,MAAM,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,YAAY,kCAAG,WAAW,QAAA,CAAC;QACjC,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,MAAM,mCAAmC,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAClF,8EAA8E;QAC9E,uEAAuE;QACvE,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAChC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,OAAO,EAAE,CAAC;YACd,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACtE,CAAC;QACL,CAAC,CAAC,CAAC;;;;;;;;;AACP,CAAC"}
1
+ {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../../src/daemon/upgrades/upgrade.ts"],"names":[],"mappings":"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"}
package/dist/runtime.js CHANGED
@@ -23277,8 +23277,8 @@ var AgentUpdateStream = class {
23277
23277
  var AdapterSessionConnection = class {
23278
23278
  #connection;
23279
23279
  #onBackgroundActivity;
23280
- #backgroundActivity = false;
23281
- hasBackgroundActivity = () => this.#backgroundActivity;
23280
+ #backgroundActivity = "none";
23281
+ hasBackgroundActivity = () => this.#backgroundActivity !== "none";
23282
23282
  #updates;
23283
23283
  #lifetime = new AbortController();
23284
23284
  #onClosed;
@@ -23382,12 +23382,12 @@ var AdapterSessionConnection = class {
23382
23382
  this.#connection = options.agent.createConnection({
23383
23383
  cwd: options.cwd,
23384
23384
  client: client2,
23385
- onBackgroundActivity: (active) => {
23385
+ onBackgroundActivity: (activity) => {
23386
23386
  if (this.#lifetime.signal.aborted) {
23387
23387
  return;
23388
23388
  }
23389
- this.#backgroundActivity = active;
23390
- this.#onBackgroundActivity(active);
23389
+ this.#backgroundActivity = activity;
23390
+ this.#onBackgroundActivity(activity);
23391
23391
  }
23392
23392
  });
23393
23393
  }
@@ -23406,8 +23406,8 @@ var AdapterSessionConnection = class {
23406
23406
  await this.#updates.drained().catch(() => void 0);
23407
23407
  } finally {
23408
23408
  this.#onClosed();
23409
- this.#backgroundActivity = false;
23410
- this.#onBackgroundActivity(false);
23409
+ this.#backgroundActivity = "none";
23410
+ this.#onBackgroundActivity("none");
23411
23411
  }
23412
23412
  }
23413
23413
  };
@@ -26336,7 +26336,7 @@ var CodexOwnedAcpAgent = class {
26336
26336
  await this.#enqueue(async () => {
26337
26337
  if (item.type === "commandExecution" && method === "item/started") {
26338
26338
  this.#runningCommands.set(item.id, "foreground");
26339
- this.#context.onBackgroundActivity?.(true);
26339
+ this.#context.onBackgroundActivity?.("running");
26340
26340
  }
26341
26341
  if (method === "item/started") {
26342
26342
  await this.#context.emit({ ...update, sessionUpdate: "tool_call" });
@@ -26357,7 +26357,7 @@ var CodexOwnedAcpAgent = class {
26357
26357
  }
26358
26358
  if (item.type === "commandExecution" && method === "item/completed") {
26359
26359
  this.#runningCommands.delete(item.id);
26360
- this.#context.onBackgroundActivity?.(this.#runningCommands.size > 0);
26360
+ this.#context.onBackgroundActivity?.(this.#runningCommands.size > 0 ? "running" : "none");
26361
26361
  }
26362
26362
  });
26363
26363
  }
@@ -32447,7 +32447,7 @@ import { fetch as fetch3 } from "undici";
32447
32447
  // package.json
32448
32448
  var package_default = {
32449
32449
  name: "@moxt-ai/mobius",
32450
- version: "0.0.341",
32450
+ version: "0.0.342",
32451
32451
  description: "Mobius CLI for pairing and running local AI agent services.",
32452
32452
  type: "module",
32453
32453
  bin: {
@@ -69073,6 +69073,108 @@ function backgroundTaskId(result) {
69073
69073
  return typeof result === "object" && result !== null && "backgroundTaskId" in result && typeof result.backgroundTaskId === "string" && result.backgroundTaskId.length > 0 ? result.backgroundTaskId : void 0;
69074
69074
  }
69075
69075
 
69076
+ // src/acp/harness/claude/upstream/dist/context-resources.js
69077
+ import { extname as extname2 } from "node:path";
69078
+ function formatUriAsLink(uri) {
69079
+ if (uri.startsWith("file://")) {
69080
+ const path7 = uri.slice(7);
69081
+ return `[@${path7.split("/").pop() || path7}](${uri})`;
69082
+ }
69083
+ if (uri.startsWith("zed://")) {
69084
+ return `[@${uri.split("/").pop() || uri}](${uri})`;
69085
+ }
69086
+ return uri;
69087
+ }
69088
+ var formatContextBlock = (uri, text2) => `
69089
+ <context ref="${uri}">
69090
+ ${text2}
69091
+ </context>`;
69092
+ function parseContextBlock(block) {
69093
+ if (block.type !== "text" || typeof block.text !== "string") {
69094
+ return null;
69095
+ }
69096
+ const match = /^\n<context ref="([^"\r\n]+)">\n([\s\S]*)\n<\/context>$/u.exec(block.text);
69097
+ const uri = match?.[1];
69098
+ const text2 = match?.[2];
69099
+ if (uri === void 0 || text2 === void 0 || formatContextBlock(uri, text2) !== block.text) {
69100
+ return null;
69101
+ }
69102
+ return { uri, text: text2 };
69103
+ }
69104
+ function contextMimeType(uri) {
69105
+ let pathname = uri;
69106
+ try {
69107
+ pathname = new URL(uri).pathname;
69108
+ } catch {
69109
+ }
69110
+ switch (extname2(pathname).toLowerCase()) {
69111
+ case ".html":
69112
+ case ".htm":
69113
+ return "text/html";
69114
+ case ".js":
69115
+ case ".mjs":
69116
+ case ".cjs":
69117
+ return "text/javascript";
69118
+ case ".css":
69119
+ return "text/css";
69120
+ case ".json":
69121
+ return "application/json";
69122
+ case ".md":
69123
+ case ".markdown":
69124
+ return "text/markdown";
69125
+ case ".xml":
69126
+ return "application/xml";
69127
+ case ".svg":
69128
+ return "image/svg+xml";
69129
+ case ".csv":
69130
+ return "text/csv";
69131
+ default:
69132
+ return "text/plain";
69133
+ }
69134
+ }
69135
+ function replayContextResources(content) {
69136
+ const contexts = [];
69137
+ let contextStart = content.length;
69138
+ for (let index2 = content.length - 1; index2 >= 0; index2 -= 1) {
69139
+ const block = content[index2];
69140
+ const parsed = block === void 0 ? null : parseContextBlock(block);
69141
+ if (parsed === null) {
69142
+ break;
69143
+ }
69144
+ contexts.push(parsed);
69145
+ contextStart = index2;
69146
+ }
69147
+ if (contexts.length === 0) {
69148
+ return null;
69149
+ }
69150
+ contexts.reverse();
69151
+ const links = new Set(contexts.map(({ uri }) => formatUriAsLink(uri)));
69152
+ const resources = /* @__PURE__ */ new Map();
69153
+ let nextContext = 0;
69154
+ for (let index2 = 0; index2 < contextStart; index2 += 1) {
69155
+ const block = content[index2];
69156
+ if (block?.type !== "text" || typeof block.text !== "string") {
69157
+ continue;
69158
+ }
69159
+ if (block.text.startsWith('\n<context ref="')) {
69160
+ return null;
69161
+ }
69162
+ if (!links.has(block.text)) {
69163
+ continue;
69164
+ }
69165
+ const context = contexts[nextContext];
69166
+ if (context === void 0 || block.text !== formatUriAsLink(context.uri)) {
69167
+ return null;
69168
+ }
69169
+ resources.set(index2, {
69170
+ type: "resource",
69171
+ resource: { ...context, mimeType: contextMimeType(context.uri) }
69172
+ });
69173
+ nextContext += 1;
69174
+ }
69175
+ return nextContext === contexts.length ? { contextStart, resources } : null;
69176
+ }
69177
+
69076
69178
  // src/acp/harness/claude/upstream/dist/elicitation.js
69077
69179
  import { randomUUID as randomUUID4 } from "node:crypto";
69078
69180
  import { CreateElicitationResponse } from "@agentclientprotocol/sdk";
@@ -72412,14 +72514,15 @@ var ClaudeAcpAgent = class {
72412
72514
  providerUpdate = null;
72413
72515
  exitPlan;
72414
72516
  environment;
72415
- backgroundSessions = /* @__PURE__ */ new Set();
72416
- reportBackgroundActivity(session, active) {
72417
- if (active) {
72418
- this.backgroundSessions.add(session);
72419
- } else {
72517
+ backgroundSessions = /* @__PURE__ */ new Map();
72518
+ reportBackgroundActivity(session, activity) {
72519
+ if (activity === "none") {
72420
72520
  this.backgroundSessions.delete(session);
72521
+ } else {
72522
+ this.backgroundSessions.set(session, activity);
72421
72523
  }
72422
- this.onBackgroundActivity?.(this.backgroundSessions.size > 0);
72524
+ const activities = new Set(this.backgroundSessions.values());
72525
+ this.onBackgroundActivity?.(activities.has("running") ? "running" : activities.has("awaiting-results") ? "awaiting-results" : "none");
72423
72526
  }
72424
72527
  /** Grace period before a `session/cancel` forces a wedged prompt loop to
72425
72528
  * return "cancelled". See {@link DEFAULT_FORCE_CANCEL_GRACE_MS}. Mutable so
@@ -73044,7 +73147,7 @@ var ClaudeAcpAgent = class {
73044
73147
  const awaitingBackgroundResults = /* @__PURE__ */ new Set();
73045
73148
  let processingBackgroundResults = /* @__PURE__ */ new Set();
73046
73149
  let hasBackgroundLevel = false;
73047
- const reportBackgroundActivity = () => this.reportBackgroundActivity(session, backgroundTasks.size > 0 || awaitingBackgroundResults.size > 0);
73150
+ const reportBackgroundActivity = () => this.reportBackgroundActivity(session, backgroundTasks.size > 0 ? "running" : awaitingBackgroundResults.size > 0 ? "awaiting-results" : "none");
73048
73151
  let lastAssistantTotalUsage = null;
73049
73152
  let lastAssistantUsage = null;
73050
73153
  let lastAssistantModel = null;
@@ -74381,7 +74484,7 @@ ${message.api_refusal_explanation}` : "";
74381
74484
  session.settingsManager.dispose();
74382
74485
  session.input.end();
74383
74486
  session.query.close();
74384
- this.reportBackgroundActivity(session, false);
74487
+ this.reportBackgroundActivity(session, "none");
74385
74488
  }
74386
74489
  /** Cleanly tear down a session: cancel in-flight work, release stream
74387
74490
  * resources, and remove it from the session map. */
@@ -75991,22 +76094,6 @@ function getAvailableSlashCommands(commands, terminalCommands) {
75991
76094
  };
75992
76095
  }).filter((command) => !UNSUPPORTED_COMMANDS.includes(command.name));
75993
76096
  }
75994
- function formatUriAsLink(uri) {
75995
- try {
75996
- if (uri.startsWith("file://")) {
75997
- const path7 = uri.slice(7);
75998
- const name2 = path7.split("/").pop() || path7;
75999
- return `[@${name2}](${uri})`;
76000
- } else if (uri.startsWith("zed://")) {
76001
- const parts = uri.split("/");
76002
- const name2 = parts[parts.length - 1] || uri;
76003
- return `[@${name2}](${uri})`;
76004
- }
76005
- return uri;
76006
- } catch {
76007
- return uri;
76008
- }
76009
- }
76010
76097
  function promptToClaude(prompt) {
76011
76098
  const content = [];
76012
76099
  const context = [];
@@ -76039,10 +76126,7 @@ function promptToClaude(prompt) {
76039
76126
  });
76040
76127
  context.push({
76041
76128
  type: "text",
76042
- text: `
76043
- <context ref="${chunk.resource.uri}">
76044
- ${chunk.resource.text}
76045
- </context>`
76129
+ text: formatContextBlock(chunk.resource.uri, chunk.resource.text)
76046
76130
  });
76047
76131
  }
76048
76132
  break;
@@ -76212,8 +76296,13 @@ function toAcpNotifications(content, role, sessionId, toolUseCache, client2, log
76212
76296
  const toolUseResult = options?.toolUseResult !== void 0 && content.filter((c) => typeof c === "object" && c !== null && c.type === "tool_result").length === 1 ? options.toolUseResult : void 0;
76213
76297
  const toolResultMeta = parseToolResultMeta(options?.toolResultMeta);
76214
76298
  const output2 = [];
76215
- for (const chunk of content) {
76299
+ const replayedResources = role === "user" && options.historical === true ? replayContextResources(content) : null;
76300
+ for (const [index2, chunk] of content.entries()) {
76301
+ if (replayedResources !== null && index2 >= replayedResources.contextStart) {
76302
+ break;
76303
+ }
76216
76304
  let update = null;
76305
+ const resource = replayedResources?.resources.get(index2);
76217
76306
  switch (chunk.type) {
76218
76307
  case "text":
76219
76308
  case "text_delta": {
@@ -76222,7 +76311,7 @@ function toAcpNotifications(content, role, sessionId, toolUseCache, client2, log
76222
76311
  update = {
76223
76312
  sessionUpdate: role === "assistant" ? "agent_message_chunk" : "user_message_chunk",
76224
76313
  messageId,
76225
- content: {
76314
+ content: resource ?? {
76226
76315
  type: "text",
76227
76316
  text: chunk.text
76228
76317
  }
@@ -76723,7 +76812,7 @@ var ClaudeAcpEndpoint = class {
76723
76812
  CLAUDE_CODE_EXECUTABLE: options.command
76724
76813
  }),
76725
76814
  onSessionUpdate: options.onSessionUpdate,
76726
- onBackgroundActivity: (active) => options.onBackgroundActivity?.(active),
76815
+ onBackgroundActivity: (activity) => options.onBackgroundActivity?.(activity),
76727
76816
  onConnect: (connection) => {
76728
76817
  this.#connection = connection;
76729
76818
  }
@@ -76760,7 +76849,7 @@ var ClaudeAgentConnection = class extends EndpointAgentConnection {
76760
76849
  onSessionUpdate: async (notification) => {
76761
76850
  await options.client.onUpdate(notification);
76762
76851
  },
76763
- onBackgroundActivity: (active) => options.onBackgroundActivity?.(active)
76852
+ onBackgroundActivity: (activity) => options.onBackgroundActivity?.(activity)
76764
76853
  });
76765
76854
  super(endpoint, options.client);
76766
76855
  }
@@ -77825,9 +77914,9 @@ var CodexAcpAgent = class {
77825
77914
  threadId: () => this.#nativeSessionId,
77826
77915
  connection: () => this.#connection,
77827
77916
  emit: this.#emit,
77828
- onBackgroundActivity: (active) => {
77917
+ onBackgroundActivity: (activity) => {
77829
77918
  if (this.#closePromise === null) {
77830
- this.#onBackgroundActivity?.(active);
77919
+ this.#onBackgroundActivity?.(activity);
77831
77920
  }
77832
77921
  },
77833
77922
  close: this.close
@@ -77975,7 +78064,7 @@ var CodexAcpAgent = class {
77975
78064
  await stopProcessTree(child, captured);
77976
78065
  } finally {
77977
78066
  this.#connection?.close();
77978
- this.#onBackgroundActivity?.(false);
78067
+ this.#onBackgroundActivity?.("none");
77979
78068
  }
77980
78069
  })();
77981
78070
  }
@@ -78072,7 +78161,7 @@ var CodexAgentConnection = class extends EndpointAgentConnection {
78072
78161
  cwd: options.cwd,
78073
78162
  environment: options.environment,
78074
78163
  onSessionUpdate: options.client.onUpdate,
78075
- onBackgroundActivity: (active) => options.onBackgroundActivity?.(active)
78164
+ onBackgroundActivity: (activity) => options.onBackgroundActivity?.(activity)
78076
78165
  });
78077
78166
  super(endpoint, options.client);
78078
78167
  }
@@ -82030,7 +82119,7 @@ var PiAgentConnection = class extends EndpointAgentConnection {
82030
82119
  await options.client.onUpdate({ ...notification, update });
82031
82120
  }
82032
82121
  },
82033
- onBackgroundActivity: (active) => options.onBackgroundActivity?.(active)
82122
+ onBackgroundActivity: (activity) => options.onBackgroundActivity?.(activity)
82034
82123
  });
82035
82124
  super(endpoint, options.client);
82036
82125
  }
@@ -84061,7 +84150,7 @@ function conversationTitleFromText(text2) {
84061
84150
 
84062
84151
  // src/session/api/session-api.ts
84063
84152
  var NullSessionObserver = class {
84064
- onBackgroundActivity = (_source, _active) => {
84153
+ onBackgroundActivity = (_source, _activity) => {
84065
84154
  };
84066
84155
  onSessionEvent = (_event) => Promise.resolve();
84067
84156
  onCommands = () => Promise.resolve();
@@ -85174,7 +85263,7 @@ var AgentSession = class _AgentSession {
85174
85263
  ...scope,
85175
85264
  additionalDirectories: this.#additionalDirectories,
85176
85265
  capabilities: () => this.#capabilities,
85177
- onBackgroundActivity: (active) => this.#getObserver().onBackgroundActivity?.(this, active),
85266
+ onBackgroundActivity: (activity) => this.#getObserver().onBackgroundActivity?.(this, activity),
85178
85267
  interactions: {
85179
85268
  onPermission: this.#interactions.onPermission,
85180
85269
  onElicitation: this.#interactions.onElicitation,
@@ -87350,25 +87439,30 @@ var ExecutionReceipts = class {
87350
87439
  // src/session/turn/runtime-turn-activity.ts
87351
87440
  var RuntimeTurnActivity = class {
87352
87441
  #turns = /* @__PURE__ */ new Set();
87353
- #backgroundSources = /* @__PURE__ */ new Set();
87442
+ #backgroundSources = /* @__PURE__ */ new Map();
87354
87443
  #idleWaiters = /* @__PURE__ */ new Set();
87355
87444
  // When work last started or stopped; the quiet period is measured from here.
87356
87445
  #changedAt = Date.now();
87357
87446
  #reserved = false;
87358
87447
  acceptsPrompts = () => !this.#reserved;
87359
87448
  count = () => this.#turns.size + this.#backgroundSources.size;
87360
- describe = () => ({
87361
- turns: this.#turns.size,
87362
- backgroundSources: this.#backgroundSources.size
87363
- });
87364
- setBackgroundActivity = (source, active) => {
87365
- if (active === this.#backgroundSources.has(source)) {
87449
+ /** Why admission is held: prompts running or queued, native tasks running, results not yet handled. */
87450
+ describe = () => {
87451
+ const activities = [...this.#backgroundSources.values()];
87452
+ return {
87453
+ turns: this.#turns.size,
87454
+ backgroundRunning: activities.filter((activity) => activity === "running").length,
87455
+ backgroundAwaitingResults: activities.filter((activity) => activity === "awaiting-results").length
87456
+ };
87457
+ };
87458
+ setBackgroundActivity = (source, activity) => {
87459
+ if (activity === (this.#backgroundSources.get(source) ?? "none")) {
87366
87460
  return;
87367
87461
  }
87368
- if (active) {
87369
- this.#backgroundSources.add(source);
87370
- } else {
87462
+ if (activity === "none") {
87371
87463
  this.#backgroundSources.delete(source);
87464
+ } else {
87465
+ this.#backgroundSources.set(source, activity);
87372
87466
  }
87373
87467
  this.#changed();
87374
87468
  };
@@ -87891,8 +87985,8 @@ var SessionLayerObserver = class extends NullSessionObserver {
87891
87985
  this.#publishInfo = publishInfo;
87892
87986
  this.#record = record2;
87893
87987
  }
87894
- onBackgroundActivity = (source, active) => {
87895
- this.#backgroundActivity(source, active);
87988
+ onBackgroundActivity = (source, activity) => {
87989
+ this.#backgroundActivity(source, activity);
87896
87990
  };
87897
87991
  onSessionEvent = (event) => {
87898
87992
  this.#record(event);
@@ -87929,8 +88023,8 @@ function buildSessionLayer(options) {
87929
88023
  eventProjection.record(event);
87930
88024
  },
87931
88025
  sink.publishInfo,
87932
- (source, active) => {
87933
- options.turnActivity?.setBackgroundActivity(source, active);
88026
+ (source, activity) => {
88027
+ options.turnActivity?.setBackgroundActivity(source, activity);
87934
88028
  options.processes.notifyChanged();
87935
88029
  }
87936
88030
  ),
@@ -89588,7 +89682,7 @@ function createContentWriteCommands(context) {
89588
89682
  import { WebSocket as WebSocket5 } from "undici";
89589
89683
 
89590
89684
  // src/session/content/session-files.ts
89591
- import { basename as basename8, extname as extname2, isAbsolute as isAbsolute16, join as join33, normalize as normalize3, resolve as resolve17 } from "node:path";
89685
+ import { basename as basename8, extname as extname3, isAbsolute as isAbsolute16, join as join33, normalize as normalize3, resolve as resolve17 } from "node:path";
89592
89686
  import { fileURLToPath as fileURLToPath2 } from "node:url";
89593
89687
  function requestedPath(value) {
89594
89688
  if (value.includes("\0")) {
@@ -89644,7 +89738,7 @@ async function streamLocalFile(command, send2, sendChunk, signal, workingDirecto
89644
89738
  send2({
89645
89739
  byteLength: before.size,
89646
89740
  kind: FILE_BEGIN_KIND,
89647
- mediaType: external?.mediaType ?? raster?.mimeType ?? (extname2(target).toLowerCase() === ".svg" ? "image/svg+xml" : "application/octet-stream"),
89741
+ mediaType: external?.mediaType ?? raster?.mimeType ?? (extname3(target).toLowerCase() === ".svg" ? "image/svg+xml" : "application/octet-stream"),
89648
89742
  modifiedAt: before.modifiedAt.toISOString(),
89649
89743
  name: external?.name ?? (basename8(target) || "file"),
89650
89744
  requestId: command.requestId,