switchroom 0.18.28 → 0.18.29

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.
@@ -150,7 +150,14 @@ $DAILY_CONTENT"
150
150
  fi
151
151
 
152
152
  # ── Assemble briefing ───────────────────────────────────────────────────────────
153
- TIMESTAMP=$(date -u +"%Y-%m-%dT%H:%M:%SZ" 2>/dev/null || date +"%Y-%m-%d %H:%M:%S UTC")
153
+ # Restart timestamp — model-facing: it lands in the resume-turn system prompt
154
+ # via --append-system-prompt ("You just restarted at …"). Render the agent's
155
+ # LOCAL am/pm wall clock, NOT UTC, so the restart turn never sees a competing
156
+ # UTC "now" (the whole point of the deterministic-local-time work). Same
157
+ # SWITCHROOM_TIMEZONE → TZ → UTC cascade and `%A %Y-%m-%d %I:%M %p %Z` am/pm
158
+ # format the UserPromptSubmit local-time hook (bin/timezone-hook.sh) uses.
159
+ _TZ_VAL="${SWITCHROOM_TIMEZONE:-${TZ:-UTC}}"
160
+ TIMESTAMP=$(TZ="$_TZ_VAL" date '+%A %Y-%m-%d %I:%M %p %Z' 2>/dev/null || date '+%A %Y-%m-%d %I:%M %p %Z')
154
161
 
155
162
  # Determine restart reason if available
156
163
  RESTART_REASON="unknown"
@@ -18221,63 +18221,6 @@ for (const name of SHARED_FRAGMENTS) {
18221
18221
  }
18222
18222
  }
18223
18223
 
18224
- // src/agents/pane-lock.ts
18225
- var tails = new Map;
18226
-
18227
- // src/agents/inject.ts
18228
- var INJECT_COMMANDS = new Map([
18229
- ["/cost", { description: "Show session cost", expectsOutput: true, dialog: true, argsAllowed: false }],
18230
- ["/status", { description: "Show session status", expectsOutput: true, dialog: true, argsAllowed: false }],
18231
- ["/usage", { description: "Show plan quota", expectsOutput: true, dialog: true, argsAllowed: false }],
18232
- ["/hooks", { description: "List configured hooks", expectsOutput: true, dialog: true, argsAllowed: false }],
18233
- ["/memory", { description: "Open memory picker", expectsOutput: true, dialog: true, argsAllowed: false }],
18234
- ["/help", { description: "Show help / command discovery", expectsOutput: true, dialog: true, argsAllowed: false }],
18235
- ["/context", { description: "Show context window usage", expectsOutput: true, argsAllowed: false }],
18236
- ["/release-notes", { description: "Show release-notes version list", expectsOutput: true, dialog: true, argsAllowed: false }],
18237
- ["/model", { description: "Open model picker", expectsOutput: true, argsAllowed: true }],
18238
- [
18239
- "/clear",
18240
- {
18241
- description: "Clear session screen",
18242
- expectsOutput: false,
18243
- silentNote: "context cleared — fresh slate",
18244
- argsAllowed: false
18245
- }
18246
- ],
18247
- [
18248
- "/compact",
18249
- {
18250
- description: "Compact conversation history",
18251
- expectsOutput: false,
18252
- silentNote: "compaction runs silently",
18253
- argsAllowed: false
18254
- }
18255
- ]
18256
- ]);
18257
- var INJECT_ALLOWLIST = new Set(INJECT_COMMANDS.keys());
18258
- var INJECT_BLOCKED = new Map([
18259
- ["/login", { reason: "would mutate auth state" }],
18260
- ["/logout", { reason: "would terminate the agent's auth session" }],
18261
- ["/exit", { reason: "would kill the agent process" }],
18262
- ["/quit", { reason: "would kill the agent process" }],
18263
- ["/upgrade", { reason: "mutates the Claude Code installation" }],
18264
- ["/init", { reason: "generates/overwrites CLAUDE.md and runs a model turn" }],
18265
- ["/mcp", { reason: "opens an interactive MCP server management dialog" }],
18266
- ["/permissions", { reason: "opens an interactive permissions editor that mutates tool policy" }],
18267
- ["/install-github-app", { reason: "runs a network/OAuth install flow" }],
18268
- ["/add-dir", { reason: "mutates the session's working-directory set" }],
18269
- ["/terminal-setup", { reason: "mutates terminal keybinding configuration" }],
18270
- ["/privacy-settings", { reason: "opens an interactive privacy-settings dialog" }],
18271
- ["/bug", { reason: "submits a bug report over the network" }],
18272
- [
18273
- "/effort",
18274
- {
18275
- reason: "leaves a blocking confirmation modal open and wedges the pane; use the /effort command (it drives the modal), not raw inject"
18276
- }
18277
- ]
18278
- ]);
18279
- var INJECT_BLOCKLIST = new Set(INJECT_BLOCKED.keys());
18280
-
18281
18224
  // src/setup/hindsight.ts
18282
18225
  var HINDSIGHT_DEFAULT_API_PORT = 18888;
18283
18226
  var HINDSIGHT_DEFAULT_MCP_URL = `http://127.0.0.1:${HINDSIGHT_DEFAULT_API_PORT}/mcp/`;