@centralu/host-linux-arm64 0.1.0-beta.40 → 0.1.0-beta.42

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.
@@ -1,9 +1,9 @@
1
1
  {
2
- "commit": "f369f5c",
2
+ "commit": "6d465b4",
3
3
  "protocolVersion": 1,
4
4
  "hostProof": 1,
5
5
  "tokenOnStdin": 1,
6
- "builtAt": "2026-10-26T11:36:49.772Z",
6
+ "builtAt": "2026-10-27T07:00:14.252Z",
7
7
  "runtime": "system-node",
8
8
  "platform": "linux",
9
9
  "arch": "arm64"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "centralu",
3
- "version": "0.1.0-beta.40",
3
+ "version": "0.1.0-beta.42",
4
4
  "description": "Run, watch and steer several Claude Code and Codex CLI sessions from one window",
5
5
  "license": "MIT",
6
6
  "author": "ijun17",
@@ -38,9 +38,9 @@
38
38
  "win32"
39
39
  ],
40
40
  "optionalDependencies": {
41
- "@centralu/darwin-arm64": "0.1.0-beta.40",
42
- "@centralu/linux-arm64": "0.1.0-beta.40",
43
- "@centralu/linux-x64": "0.1.0-beta.40",
44
- "@centralu/win32-x64": "0.1.0-beta.40"
41
+ "@centralu/darwin-arm64": "0.1.0-beta.42",
42
+ "@centralu/linux-arm64": "0.1.0-beta.42",
43
+ "@centralu/linux-x64": "0.1.0-beta.42",
44
+ "@centralu/win32-x64": "0.1.0-beta.42"
45
45
  }
46
46
  }
package/host/main.mjs CHANGED
@@ -43054,7 +43054,7 @@ import { dirname as dirname26, join as join57 } from "node:path";
43054
43054
  import { mkdirSync as mkdirSync20, writeSync as writeSync3 } from "node:fs";
43055
43055
 
43056
43056
  // packages/protocol/src/version.generated.ts
43057
- var APP_VERSION = "0.1.0-beta.40";
43057
+ var APP_VERSION = "0.1.0-beta.42";
43058
43058
 
43059
43059
  // packages/protocol/src/brand.ts
43060
43060
  var APP_NAME = "Centralu";
@@ -62256,6 +62256,16 @@ var sessionMethods = {
62256
62256
  }),
62257
62257
  result: external_exports.union([external_exports.object({ archived: external_exports.literal(true) }), external_exports.object({ archived: external_exports.literal(false), asks: external_exports.array(external_exports.string()) })])
62258
62258
  },
62259
+ /**
62260
+ * What archiving the session would lose that restoring does not bring back (#1595), read only: the lines `agents.archiveIfAtRest`
62261
+ * would answer in `asks` (`SessionTrash.lossesOf`), so the archive dialog can show them whichever way the worktree box is
62262
+ * ticked, also when the session leaves with its worktree, which `archiveIfAtRest` never does. Empty for a session with none,
62263
+ * and for one that is gone. A build from before it answers "Unknown method", and the dialog goes on as it did before.
62264
+ */
62265
+ "agents.archiveLosses": {
62266
+ params: external_exports.object({ sessionId: SessionId }),
62267
+ result: external_exports.object({ asks: external_exports.array(external_exports.string()) })
62268
+ },
62259
62269
  /**
62260
62270
  * agent_session delete of a child a hub's session started here with a worktree (#1161 item 3): the session goes to the
62261
62271
  * trash, and the worktree Centralu made for it on `worktreeBranch` goes too when nothing would be lost (nothing
@@ -65223,6 +65233,8 @@ var METHOD_RIGHTS = {
65223
65233
  "agents.deleteSession": "asks",
65224
65234
  /** Moves the session to the archive when that loses nothing, and says so otherwise (#1512): the card names the move */
65225
65235
  "agents.archiveIfAtRest": "asks",
65236
+ /** Reads what an archive would lose (#1595): nothing moves; it names unfinished mail threads, which only the window reads (mail.thread), so the window's class */
65237
+ "agents.archiveLosses": "window",
65226
65238
  "agents.deleteAgentChild": "asks",
65227
65239
  "agents.mcpProposals": "everyday",
65228
65240
  "agents.resolveMcpProposal": "window",
@@ -107511,13 +107523,13 @@ One session = one agent process (Claude Code or Codex).
107511
107523
  handoff by default (it can be restored from Settings \u2192 Archive); a checkbox keeps it instead. The orchestrator can hand a session off too
107512
107524
  (its handoff_session command), after you approve its card unless the session is at rest and runs under a preset the orchestrator has itself; the original stays. A worktree session cannot be
107513
107525
  handed off yet.
107514
- - Archiving: session's \u22EF \u2192 Archive session. The session leaves the sidebar and goes to the session
107526
+ - Archiving: session's \u22EF \u2192 Archive session\u2026. The session leaves the sidebar and goes to the session
107515
107527
  archive (Settings \u2192 Archive), where the person can read it, restore it, or delete it for good.
107516
- An idle session is archived at once and the toast offers Undo; one that is working, waiting on the
107517
- person or running a background job asks first, in a dialog that also asks whether deleting it for
107518
- good should delete the conversation file on the tool's side (on by default). Nothing is deleted on
107519
- its own; turning that off leaves the conversation on the tool, so it can be loaded again from the
107520
- past-conversation list in the New session window.
107528
+ A dialog asks first, for every session, and also asks whether deleting it for good should delete the
107529
+ conversation file on the tool's side (on by default); with the worktree kept it lists anything the archive drops that Undo does
107530
+ not bring back, and the toast after it offers Undo. Nothing is
107531
+ deleted on its own; turning that off leaves the conversation on the tool, so it can be loaded again
107532
+ from the past-conversation list in the New session window.
107521
107533
  - There is no menu to change a session's agent (claude \u2194 codex). A new tool does not know the old
107522
107534
  conversation, so use a handoff to continue with a different tool. The orchestrator is the one
107523
107535
  exception (Settings \u2192 Orchestrator).`,
@@ -139945,6 +139957,10 @@ var SessionTrash = class {
139945
139957
  }
139946
139958
  return out;
139947
139959
  }
139960
+ /** What archiving would lose, for the dialog to show before anything moves (#1595); nothing for a session that is gone */
139961
+ archiveLosses(sessionId) {
139962
+ return this.host.meta.get(sessionId) ? this.lossesOf(sessionId) : [];
139963
+ }
139948
139964
  /**
139949
139965
  * The archive the window asks for on a session that looks idle (#1512), decided here by the same rule as `delete_session`'s card:
139950
139966
  * the session moves only when nothing it holds would be lost (`lossesOf`) and it is still at rest in the very step that moves it
@@ -141438,6 +141454,10 @@ var SessionManager = class {
141438
141454
  archiveIfAtRest(...a) {
141439
141455
  return this.trash.archiveIfAtRest(...a);
141440
141456
  }
141457
+ /** `SessionTrash.archiveLosses` (session-trash.ts, #1595): `agents.archiveLosses` */
141458
+ archiveLosses(...a) {
141459
+ return this.trash.archiveLosses(...a);
141460
+ }
141441
141461
  /** The startup repair of recovery folders an interrupted purge left aside (#647) */
141442
141462
  recoveryRepair = Promise.resolve();
141443
141463
  /** `SessionTrash.listTrash` (session-trash.ts), kept on the manager for its callers */
@@ -145644,6 +145664,11 @@ function createRpcHandler(mgr2, adapters2, { settleDeletedProjects, deleteOutloo
145644
145664
  const { sessionId, deleteExternal } = RpcMethods["agents.archiveIfAtRest"].params.parse(p);
145645
145665
  return mgr2.archiveIfAtRest(sessionId, deleteExternal);
145646
145666
  },
145667
+ // What the window's archive dialog lists before it moves anything (#1595)
145668
+ "agents.archiveLosses": async (p) => {
145669
+ const { sessionId } = RpcMethods["agents.archiveLosses"].params.parse(p);
145670
+ return { asks: mgr2.archiveLosses(sessionId) };
145671
+ },
145647
145672
  // A hub's start_agent child deleted with the worktree made for it, when nothing would be lost (#1161 item 3)
145648
145673
  "agents.deleteAgentChild": async (p) => {
145649
145674
  const { sessionId, worktreeBranch } = RpcMethods["agents.deleteAgentChild"].params.parse(p);
@@ -153369,6 +153394,7 @@ var ROUTES = {
153369
153394
  "agents.clearBackgroundTasks": session(),
153370
153395
  "agents.deleteSession": session(),
153371
153396
  "agents.archiveIfAtRest": session(),
153397
+ "agents.archiveLosses": session(),
153372
153398
  "agents.deleteAgentChild": session(),
153373
153399
  "agents.exportHandoffRecord": session(),
153374
153400
  "agents.exportHandoffNote": session(),
@@ -154417,7 +154443,7 @@ var handedToken = launch.tokenOnStdin ? await readHandedToken(process.stdin).cat
154417
154443
  console.error(`[agent-host] the launcher did not hand over the token: ${e.message}`);
154418
154444
  process.exit(1);
154419
154445
  }) : launch.token;
154420
- var BUILD = true ? "f369f5c" : "dev";
154446
+ var BUILD = true ? "6d465b4" : "dev";
154421
154447
  var { values } = parseArgs({
154422
154448
  options: {
154423
154449
  port: { type: "string", default: "5175" },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@centralu/host-linux-arm64",
3
- "version": "0.1.0-beta.40",
3
+ "version": "0.1.0-beta.42",
4
4
  "description": "Centralu's host without the window, for Linux on arm64: what a hub installs on a linked machine",
5
5
  "license": "MIT",
6
6
  "author": "ijun17",