@provos/ironcurtain 0.7.0 → 0.7.2

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 (98) hide show
  1. package/README.md +24 -100
  2. package/dist/cli.js +6 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/config/constitution-readonly.md +21 -0
  5. package/dist/config/generated-readonly/compiled-policy.json +468 -0
  6. package/dist/config/paths.d.ts +17 -0
  7. package/dist/config/paths.js +23 -0
  8. package/dist/config/paths.js.map +1 -1
  9. package/dist/cron/constitution-generator.d.ts +60 -0
  10. package/dist/cron/constitution-generator.js +217 -0
  11. package/dist/cron/constitution-generator.js.map +1 -0
  12. package/dist/cron/job-commands.js +104 -41
  13. package/dist/cron/job-commands.js.map +1 -1
  14. package/dist/cron/job-customizer.d.ts +22 -0
  15. package/dist/cron/job-customizer.js +47 -0
  16. package/dist/cron/job-customizer.js.map +1 -0
  17. package/dist/cron/types.d.ts +8 -0
  18. package/dist/cron/types.js +3 -6
  19. package/dist/cron/types.js.map +1 -1
  20. package/dist/daemon/ironcurtain-daemon.js +3 -1
  21. package/dist/daemon/ironcurtain-daemon.js.map +1 -1
  22. package/dist/docker/mitm-proxy.js +10 -5
  23. package/dist/docker/mitm-proxy.js.map +1 -1
  24. package/dist/docker/oauth-credentials.js +2 -2
  25. package/dist/docker/oauth-credentials.js.map +1 -1
  26. package/dist/docker/pty-session.js +139 -35
  27. package/dist/docker/pty-session.js.map +1 -1
  28. package/dist/index.js +13 -4
  29. package/dist/index.js.map +1 -1
  30. package/dist/mux/mux-command.js +29 -1
  31. package/dist/mux/mux-command.js.map +1 -1
  32. package/dist/mux/mux-input-handler.d.ts +1 -1
  33. package/dist/mux/mux-input-handler.js +3 -7
  34. package/dist/mux/mux-input-handler.js.map +1 -1
  35. package/dist/persona/compile-persona-policy.d.ts +21 -0
  36. package/dist/persona/compile-persona-policy.js +50 -0
  37. package/dist/persona/compile-persona-policy.js.map +1 -0
  38. package/dist/persona/persona-command.d.ts +9 -0
  39. package/dist/persona/persona-command.js +479 -0
  40. package/dist/persona/persona-command.js.map +1 -0
  41. package/dist/persona/persona-customizer.d.ts +23 -0
  42. package/dist/persona/persona-customizer.js +52 -0
  43. package/dist/persona/persona-customizer.js.map +1 -0
  44. package/dist/persona/persona-prompt.d.ts +19 -0
  45. package/dist/persona/persona-prompt.js +42 -0
  46. package/dist/persona/persona-prompt.js.map +1 -0
  47. package/dist/persona/resolve.d.ts +46 -0
  48. package/dist/persona/resolve.js +108 -0
  49. package/dist/persona/resolve.js.map +1 -0
  50. package/dist/persona/types.d.ts +40 -0
  51. package/dist/persona/types.js +20 -0
  52. package/dist/persona/types.js.map +1 -0
  53. package/dist/pipeline/annotate.js +8 -3
  54. package/dist/pipeline/annotate.js.map +1 -1
  55. package/dist/pipeline/compile.d.ts +13 -0
  56. package/dist/pipeline/compile.js +27 -1
  57. package/dist/pipeline/compile.js.map +1 -1
  58. package/dist/pipeline/constitution-compiler.d.ts +6 -0
  59. package/dist/pipeline/constitution-compiler.js +41 -5
  60. package/dist/pipeline/constitution-compiler.js.map +1 -1
  61. package/dist/pipeline/constitution-customizer.d.ts +3 -0
  62. package/dist/pipeline/constitution-customizer.js +19 -5
  63. package/dist/pipeline/constitution-customizer.js.map +1 -1
  64. package/dist/pipeline/customizer-loop.d.ts +34 -0
  65. package/dist/pipeline/customizer-loop.js +167 -0
  66. package/dist/pipeline/customizer-loop.js.map +1 -0
  67. package/dist/pipeline/pipeline-runner.js +2 -9
  68. package/dist/pipeline/pipeline-runner.js.map +1 -1
  69. package/dist/pipeline/pipeline-shared.d.ts +8 -1
  70. package/dist/pipeline/pipeline-shared.js +9 -4
  71. package/dist/pipeline/pipeline-shared.js.map +1 -1
  72. package/dist/pipeline/tool-annotator.js +20 -2
  73. package/dist/pipeline/tool-annotator.js.map +1 -1
  74. package/dist/session/index.d.ts +10 -0
  75. package/dist/session/index.js +108 -35
  76. package/dist/session/index.js.map +1 -1
  77. package/dist/session/session-metadata.d.ts +18 -0
  78. package/dist/session/session-metadata.js +34 -0
  79. package/dist/session/session-metadata.js.map +1 -0
  80. package/dist/session/types.d.ts +20 -0
  81. package/dist/signal/signal-bot-daemon.js +8 -5
  82. package/dist/signal/signal-bot-daemon.js.map +1 -1
  83. package/dist/trusted-process/domain-utils.d.ts +2 -3
  84. package/dist/trusted-process/domain-utils.js +46 -34
  85. package/dist/trusted-process/domain-utils.js.map +1 -1
  86. package/dist/trusted-process/mcp-proxy-server.d.ts +19 -0
  87. package/dist/trusted-process/mcp-proxy-server.js +32 -12
  88. package/dist/trusted-process/mcp-proxy-server.js.map +1 -1
  89. package/dist/trusted-process/policy-engine.d.ts +2 -3
  90. package/dist/trusted-process/policy-engine.js +4 -42
  91. package/dist/trusted-process/policy-engine.js.map +1 -1
  92. package/dist/types/slug.d.ts +7 -0
  93. package/dist/types/slug.js +14 -0
  94. package/dist/types/slug.js.map +1 -0
  95. package/dist/utils/editor.d.ts +24 -0
  96. package/dist/utils/editor.js +66 -0
  97. package/dist/utils/editor.js.map +1 -0
  98. package/package.json +1 -1
@@ -5,13 +5,17 @@
5
5
  * The concrete implementations (AgentSession, DockerAgentSession)
6
6
  * are not exported -- callers depend on the Session interface only.
7
7
  */
8
- import { existsSync, mkdirSync, realpathSync } from 'node:fs';
8
+ import { existsSync, mkdirSync } from 'node:fs';
9
9
  import { resolve } from 'node:path';
10
10
  import { loadConfig } from '../config/index.js';
11
- import { getIronCurtainHome, getSessionDir, getSessionSandboxDir, getSessionEscalationDir, getSessionAuditLogPath, getSessionLogPath, getSessionLlmLogPath, getSessionAutoApproveLlmLogPath, } from '../config/paths.js';
11
+ import { getIronCurtainHome, getPackageConfigDir, getSessionDir, getSessionSandboxDir, getSessionEscalationDir, getSessionAuditLogPath, getSessionLogPath, getSessionLlmLogPath, getSessionAutoApproveLlmLogPath, } from '../config/paths.js';
12
12
  import * as logger from '../logger.js';
13
+ import { resolveRealPath } from '../types/argument-roles.js';
14
+ import { resolvePersona, applyServerAllowlist } from '../persona/resolve.js';
15
+ import { buildPersonaSystemPromptAugmentation } from '../persona/persona-prompt.js';
13
16
  import { AgentSession } from './agent-session.js';
14
17
  import { SessionError } from './errors.js';
18
+ import { saveSessionMetadata, loadSessionMetadata } from './session-metadata.js';
15
19
  import { isEqualOrInside } from './workspace-validation.js';
16
20
  import { createSessionId } from './types.js';
17
21
  /**
@@ -29,11 +33,34 @@ import { createSessionId } from './types.js';
29
33
  * sandbox or MCP connection setup fails.
30
34
  */
31
35
  export async function createSession(options = {}) {
32
- const mode = options.mode ?? { kind: 'builtin' };
36
+ // When resuming, restore persisted session settings (persona, workspace, etc.)
37
+ const effectiveOptions = applyResumeMetadata(options);
38
+ const mode = effectiveOptions.mode ?? { kind: 'builtin' };
33
39
  if (mode.kind === 'docker') {
34
- return createDockerSession(mode.agent, options);
40
+ return createDockerSession(mode.agent, effectiveOptions);
35
41
  }
36
- return createBuiltinSession(options);
42
+ return createBuiltinSession(effectiveOptions);
43
+ }
44
+ /**
45
+ * Merges persisted session metadata into options when resuming.
46
+ * Returns options unchanged for new sessions or when no metadata exists
47
+ * (graceful for sessions created before metadata persistence was added).
48
+ */
49
+ function applyResumeMetadata(options) {
50
+ if (!options.resumeSessionId)
51
+ return options;
52
+ const metadata = loadSessionMetadata(options.resumeSessionId);
53
+ if (!metadata)
54
+ return options;
55
+ return {
56
+ ...options,
57
+ // Only spread defined metadata fields so undefined doesn't overwrite
58
+ // caller-provided values (important for non-CLI callers like the daemon).
59
+ ...(metadata.persona !== undefined ? { persona: metadata.persona } : {}),
60
+ ...(metadata.workspacePath !== undefined ? { workspacePath: metadata.workspacePath } : {}),
61
+ ...(metadata.policyDir !== undefined ? { policyDir: metadata.policyDir } : {}),
62
+ ...(metadata.disableAutoApprove !== undefined ? { disableAutoApprove: metadata.disableAutoApprove } : {}),
63
+ };
37
64
  }
38
65
  /**
39
66
  * Creates the built-in AgentSession (existing behavior).
@@ -52,7 +79,12 @@ async function createBuiltinSession(options) {
52
79
  }
53
80
  const loggerWasActive = logger.isActive();
54
81
  const sessionConfig = buildSessionConfig(config, effectiveSessionId, sessionId, options);
55
- const session = new AgentSession(sessionConfig.config, sessionId, sessionConfig.escalationDir, options);
82
+ // Merge resolved systemPromptAugmentation (may include persona augmentation)
83
+ // back into options so AgentSession sees it.
84
+ const effectiveOptions = sessionConfig.systemPromptAugmentation
85
+ ? { ...options, systemPromptAugmentation: sessionConfig.systemPromptAugmentation }
86
+ : options;
87
+ const session = new AgentSession(sessionConfig.config, sessionId, sessionConfig.escalationDir, effectiveOptions);
56
88
  try {
57
89
  await session.initialize();
58
90
  }
@@ -100,7 +132,9 @@ async function createDockerSession(agentId, options) {
100
132
  onEscalationResolved: options.onEscalationResolved,
101
133
  onDiagnostic: options.onDiagnostic,
102
134
  preBuiltInfrastructure: {
103
- systemPrompt: infra.systemPrompt,
135
+ systemPrompt: sessionConfig.systemPromptAugmentation
136
+ ? `${infra.systemPrompt}\n\n${sessionConfig.systemPromptAugmentation}`
137
+ : infra.systemPrompt,
104
138
  image: infra.image,
105
139
  mitmAddr: infra.mitmAddr,
106
140
  },
@@ -118,31 +152,22 @@ async function createDockerSession(agentId, options) {
118
152
  }
119
153
  /**
120
154
  * Validates that a policyDir path resolves to a location under the
121
- * IronCurtain home directory. Prevents loading attacker-controlled
122
- * policy files from arbitrary filesystem locations.
155
+ * IronCurtain home directory or the package config directory. Prevents
156
+ * loading attacker-controlled policy files from arbitrary filesystem locations.
123
157
  *
124
- * @throws {SessionError} if the path escapes the IronCurtain home.
158
+ * The package config directory is allowed so that built-in policy variants
159
+ * (e.g., the read-only policy for constitution generation) can be loaded
160
+ * without copying files into the user home.
161
+ *
162
+ * @throws {SessionError} if the path escapes all trusted directories.
125
163
  */
126
164
  function validatePolicyDir(policyDir) {
127
- // Use realpathSync to canonicalize and follow symlinks, preventing
128
- // symlink escapes (e.g., ~/.ironcurtain/evil -> /etc/attacker-policy).
129
- // Fall back to resolve() if the path doesn't exist yet.
130
- let resolvedPolicy;
131
- try {
132
- resolvedPolicy = realpathSync(resolve(policyDir));
133
- }
134
- catch {
135
- resolvedPolicy = resolve(policyDir);
136
- }
137
- let home;
138
- try {
139
- home = realpathSync(resolve(getIronCurtainHome()));
140
- }
141
- catch {
142
- home = resolve(getIronCurtainHome());
143
- }
144
- if (!isEqualOrInside(resolvedPolicy, home)) {
145
- throw new SessionError(`policyDir must be under the IronCurtain home directory (${home}). ` + `Received: ${resolvedPolicy}`, 'SESSION_INIT_FAILED');
165
+ const resolvedPolicy = resolveRealPath(policyDir);
166
+ const trustedDirs = [getIronCurtainHome(), getPackageConfigDir()].map(resolveRealPath);
167
+ if (!trustedDirs.some((dir) => isEqualOrInside(resolvedPolicy, dir))) {
168
+ throw new SessionError(`policyDir must be under a trusted directory. ` +
169
+ `Received: ${resolvedPolicy}; ` +
170
+ `trusted: ${trustedDirs.join(', ')}`, 'SESSION_INIT_FAILED');
146
171
  }
147
172
  }
148
173
  /**
@@ -152,9 +177,37 @@ function validatePolicyDir(policyDir) {
152
177
  * agent's working directory. The workspace already exists so we skip
153
178
  * creating it, but all other session infrastructure (logs, escalations)
154
179
  * still lives under the session directory.
180
+ *
181
+ * When persona is set, resolves the persona to a policyDir, workspace,
182
+ * server allowlist, and system prompt augmentation. Persona takes
183
+ * precedence over explicit policyDir if both are provided.
155
184
  */
156
185
  function buildSessionConfig(config, effectiveSessionId, sessionId, opts = {}) {
157
- const { resumeSessionId, workspacePath, policyDir, disableAutoApprove } = opts;
186
+ let { workspacePath, policyDir, systemPromptAugmentation } = opts;
187
+ const { resumeSessionId, disableAutoApprove } = opts;
188
+ let serverAllowlist;
189
+ // Resolve persona early -- derives policyDir, workspace, server filter,
190
+ // and system prompt augmentation from the persona definition.
191
+ if (opts.persona) {
192
+ const resolved = resolvePersona(opts.persona);
193
+ if (policyDir) {
194
+ logger.warn('Both persona and policyDir specified; using persona.');
195
+ }
196
+ policyDir = resolved.policyDir;
197
+ serverAllowlist = resolved.persona.servers;
198
+ // Use persona workspace unless an explicit workspacePath was provided
199
+ if (!workspacePath) {
200
+ workspacePath = resolved.workspacePath;
201
+ }
202
+ // Build persona system prompt augmentation (includes memory contents).
203
+ // workspacePath is guaranteed set here (either from opts or resolved above),
204
+ // so the memory path is always inside the session's allowedDirectory.
205
+ const personaAugmentation = buildPersonaSystemPromptAugmentation(resolved.persona, resolve(workspacePath, 'memory.md'));
206
+ systemPromptAugmentation = systemPromptAugmentation
207
+ ? `${personaAugmentation}\n\n${systemPromptAugmentation}`
208
+ : personaAugmentation;
209
+ logger.info(`Persona "${opts.persona}" resolved: policyDir=${policyDir}`);
210
+ }
158
211
  if (policyDir) {
159
212
  validatePolicyDir(policyDir);
160
213
  }
@@ -162,8 +215,11 @@ function buildSessionConfig(config, effectiveSessionId, sessionId, opts = {}) {
162
215
  const sandboxDir = workspacePath ?? getSessionSandboxDir(effectiveSessionId);
163
216
  const escalationDir = getSessionEscalationDir(effectiveSessionId);
164
217
  const auditLogPath = getSessionAuditLogPath(effectiveSessionId);
165
- // Only create the sandbox directory when not using an external workspace
166
- if (!workspacePath) {
218
+ // Create the directory when not using an explicit --workspace flag.
219
+ // When persona is set, `workspacePath` was derived internally (not
220
+ // from the caller), so we still need to ensure it exists.
221
+ // Only skip creation for explicit user-provided workspace paths.
222
+ if (!opts.workspacePath) {
167
223
  mkdirSync(sandboxDir, { recursive: true });
168
224
  }
169
225
  mkdirSync(escalationDir, { recursive: true });
@@ -190,8 +246,8 @@ function buildSessionConfig(config, effectiveSessionId, sessionId, opts = {}) {
190
246
  sessionLogPath,
191
247
  llmLogPath,
192
248
  autoApproveLlmLogPath,
193
- // When per-job policy is provided, split generated dir:
194
- // generatedDir -> per-job dir (compiled policy + dynamic lists)
249
+ // When per-job/persona policy is provided, split generated dir:
250
+ // generatedDir -> per-job/persona dir (compiled policy + dynamic lists)
195
251
  // toolAnnotationsDir -> global dir (tool annotations)
196
252
  ...(policyDir
197
253
  ? {
@@ -205,14 +261,31 @@ function buildSessionConfig(config, effectiveSessionId, sessionId, opts = {}) {
205
261
  ? { userConfig: { ...config.userConfig, autoApprove: { ...config.userConfig.autoApprove, enabled: false } } }
206
262
  : {}),
207
263
  };
264
+ // Apply server allowlist if persona specifies one
265
+ if (serverAllowlist) {
266
+ sessionConfig.mcpServers = applyServerAllowlist(sessionConfig.mcpServers, serverAllowlist);
267
+ }
208
268
  // Patch MCP server args to use the session-specific sandbox directory
209
269
  patchMcpServerAllowedDirectory(sessionConfig, sandboxDir);
270
+ // Persist session settings so --resume can restore them.
271
+ // Only write on initial creation (not when resuming).
272
+ if (!resumeSessionId) {
273
+ saveSessionMetadata(effectiveSessionId, {
274
+ createdAt: new Date().toISOString(),
275
+ ...(opts.persona ? { persona: opts.persona } : {}),
276
+ ...(opts.workspacePath ? { workspacePath: opts.workspacePath } : {}),
277
+ // Only store policyDir when no persona is set (persona derives its own)
278
+ ...(!opts.persona && policyDir ? { policyDir } : {}),
279
+ ...(opts.disableAutoApprove ? { disableAutoApprove: true } : {}),
280
+ });
281
+ }
210
282
  return {
211
283
  config: sessionConfig,
212
284
  sessionDir,
213
285
  sandboxDir,
214
286
  escalationDir,
215
287
  auditLogPath,
288
+ systemPromptAugmentation,
216
289
  };
217
290
  }
218
291
  /**
@@ -220,7 +293,7 @@ function buildSessionConfig(config, effectiveSessionId, sessionId, opts = {}) {
220
293
  * to use the session-specific sandbox directory, mirroring the
221
294
  * logic in loadConfig() that syncs ALLOWED_DIRECTORY.
222
295
  */
223
- function patchMcpServerAllowedDirectory(config, sandboxDir) {
296
+ export function patchMcpServerAllowedDirectory(config, sandboxDir) {
224
297
  const fsServer = config.mcpServers['filesystem'];
225
298
  if (!fsServer)
226
299
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Persistence for session metadata (persona, workspace, policyDir).
3
+ *
4
+ * Written once when a session is created; read back on --resume so
5
+ * the session continues with the same settings.
6
+ */
7
+ import type { SessionMetadata } from './types.js';
8
+ /**
9
+ * Writes session metadata to disk. No-ops if the file already exists
10
+ * (idempotent for edge cases like retried session creation).
11
+ */
12
+ export declare function saveSessionMetadata(sessionId: string, metadata: SessionMetadata): void;
13
+ /**
14
+ * Reads session metadata from disk. Returns undefined if the file
15
+ * is missing or contains invalid JSON (graceful for old sessions
16
+ * created before metadata persistence was added).
17
+ */
18
+ export declare function loadSessionMetadata(sessionId: string): SessionMetadata | undefined;
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Persistence for session metadata (persona, workspace, policyDir).
3
+ *
4
+ * Written once when a session is created; read back on --resume so
5
+ * the session continues with the same settings.
6
+ */
7
+ import { existsSync, readFileSync, writeFileSync } from 'node:fs';
8
+ import { getSessionMetadataPath } from '../config/paths.js';
9
+ /**
10
+ * Writes session metadata to disk. No-ops if the file already exists
11
+ * (idempotent for edge cases like retried session creation).
12
+ */
13
+ export function saveSessionMetadata(sessionId, metadata) {
14
+ const path = getSessionMetadataPath(sessionId);
15
+ if (existsSync(path))
16
+ return;
17
+ writeFileSync(path, JSON.stringify(metadata, null, 2) + '\n', 'utf-8');
18
+ }
19
+ /**
20
+ * Reads session metadata from disk. Returns undefined if the file
21
+ * is missing or contains invalid JSON (graceful for old sessions
22
+ * created before metadata persistence was added).
23
+ */
24
+ export function loadSessionMetadata(sessionId) {
25
+ const path = getSessionMetadataPath(sessionId);
26
+ try {
27
+ const raw = readFileSync(path, 'utf-8');
28
+ return JSON.parse(raw);
29
+ }
30
+ catch {
31
+ return undefined;
32
+ }
33
+ }
34
+ //# sourceMappingURL=session-metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-metadata.js","sourceRoot":"","sources":["../../src/session/session-metadata.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAG5D;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAiB,EAAE,QAAyB;IAC9E,MAAM,IAAI,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC/C,IAAI,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO;IAC7B,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;AACzE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAiB;IACnD,MAAM,IAAI,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC/C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAoB,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -12,6 +12,19 @@ export type SessionId = string & {
12
12
  };
13
13
  /** Creates a new unique SessionId. */
14
14
  export declare function createSessionId(): SessionId;
15
+ /**
16
+ * Persisted session metadata written to session-metadata.json.
17
+ * Stores the original user intent (persona name, explicit workspace)
18
+ * rather than resolved paths so that on resume the persona can be
19
+ * re-resolved with updated policies.
20
+ */
21
+ export interface SessionMetadata {
22
+ readonly createdAt: string;
23
+ readonly persona?: string;
24
+ readonly workspacePath?: string;
25
+ readonly policyDir?: string;
26
+ readonly disableAutoApprove?: boolean;
27
+ }
15
28
  /**
16
29
  * The possible states a session can be in. Linear progression:
17
30
  * initializing -> ready -> (processing <-> ready) -> closed.
@@ -219,6 +232,13 @@ export interface SessionOptions {
219
232
  * is no interactive user context to match escalations against.
220
233
  */
221
234
  disableAutoApprove?: boolean;
235
+ /**
236
+ * Persona name. When set, resolves to a policyDir, optional server
237
+ * filter, persistent workspace, and system prompt augmentation.
238
+ * Mutually exclusive with policyDir -- if both are provided,
239
+ * persona takes precedence with a warning.
240
+ */
241
+ persona?: string;
222
242
  }
223
243
  /**
224
244
  * The core session contract. A session is a stateful conversation
@@ -351,7 +351,7 @@ export class SignalBotDaemon {
351
351
  * wire callbacks, create session, start transport.
352
352
  * Returns the label of the new session.
353
353
  */
354
- async startNewSession() {
354
+ async startNewSession(persona) {
355
355
  // Count only Signal sessions toward the concurrency limit
356
356
  const signalSessionCount = this.sessionManager.byKind('signal').length;
357
357
  if (signalSessionCount >= this.maxConcurrentSessions) {
@@ -362,6 +362,7 @@ export class SignalBotDaemon {
362
362
  const session = await createSession({
363
363
  config,
364
364
  mode: this.mode,
365
+ persona,
365
366
  onEscalation: transport.createEscalationHandler(),
366
367
  onEscalationExpired: transport.createEscalationExpiredHandler(),
367
368
  onDiagnostic: transport.createDiagnosticHandler(),
@@ -499,11 +500,13 @@ export class SignalBotDaemon {
499
500
  });
500
501
  return true;
501
502
  }
502
- // /new
503
- if (lower === '/new') {
503
+ // /new [persona-name]
504
+ const newMatch = lower.match(/^\/new(?:\s+(\S+))?$/);
505
+ if (newMatch) {
506
+ const personaArg = newMatch[1]; // undefined if bare /new
504
507
  this.scheduleSessionOp(async () => {
505
508
  try {
506
- await this.startNewSession();
509
+ await this.startNewSession(personaArg);
507
510
  }
508
511
  catch (err) {
509
512
  const msg = err instanceof Error ? err.message : String(err);
@@ -598,7 +601,7 @@ export class SignalBotDaemon {
598
601
  await this.sendSignalMessage(sessionLine +
599
602
  '\n\n' +
600
603
  'Commands:\n' +
601
- ' /new - start a new session\n' +
604
+ ' /new [persona] - start a new session (optionally with a persona)\n' +
602
605
  ' /sessions - list active sessions\n' +
603
606
  ' /switch N - switch to session #N\n' +
604
607
  ' #N <message> - send to session #N without switching\n' +
@@ -1 +1 @@
1
- {"version":3,"file":"signal-bot-daemon.js","sourceRoot":"","sources":["../../src/signal/signal-bot-daemon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signal-bot-daemon.js","sourceRoot":"","sources":["../../src/signal/signal-bot-daemon.ts"],"names":[],"mappings":"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"}
@@ -75,9 +75,8 @@ export declare function resolveGitRemote(value: string, allArgs: Record<string,
75
75
  *
76
76
  * Resolution order:
77
77
  * 1. The tracking remote for the current branch:
78
- * `git rev-parse --abbrev-ref --symbolic-full-name @{u}` yields
79
- * "refs/remotes/<remote>/<branch>" (or "<remote>/<branch>" in short form).
80
- * The remote name is extracted and resolved via `git remote get-url`.
78
+ * reads `branch.<name>.remote` from git config, then resolves via
79
+ * `git remote get-url`.
81
80
  * 2. Fallback: `git remote get-url origin`.
82
81
  *
83
82
  * Returns undefined when resolution fails for any reason (not a git repo,
@@ -170,15 +170,49 @@ export function resolveGitRemote(value, allArgs) {
170
170
  return value; // Resolution failed -- escalation will catch it
171
171
  }
172
172
  }
173
+ /**
174
+ * Returns the current branch name, or undefined on error or detached HEAD.
175
+ */
176
+ function gitCurrentBranch(opts) {
177
+ try {
178
+ const branch = execFileSync('git', ['rev-parse', '--abbrev-ref', 'HEAD'], opts).trim();
179
+ return branch !== 'HEAD' ? branch : undefined;
180
+ }
181
+ catch {
182
+ return undefined;
183
+ }
184
+ }
185
+ /**
186
+ * Returns the configured tracking remote name for a branch,
187
+ * or undefined if none is configured or an error occurs.
188
+ */
189
+ function gitBranchRemote(branch, opts) {
190
+ try {
191
+ return execFileSync('git', ['config', '--get', `branch.${branch}.remote`], opts).trim() || undefined;
192
+ }
193
+ catch {
194
+ return undefined;
195
+ }
196
+ }
197
+ /**
198
+ * Returns the fetch URL for a named remote, or undefined if not found or empty.
199
+ */
200
+ function gitRemoteUrl(remoteName, opts) {
201
+ try {
202
+ return execFileSync('git', ['remote', 'get-url', remoteName], opts).trim() || undefined;
203
+ }
204
+ catch {
205
+ return undefined;
206
+ }
207
+ }
173
208
  /**
174
209
  * Resolves the default remote URL for a git repository when no remote is
175
210
  * explicitly specified in the tool call arguments.
176
211
  *
177
212
  * Resolution order:
178
213
  * 1. The tracking remote for the current branch:
179
- * `git rev-parse --abbrev-ref --symbolic-full-name @{u}` yields
180
- * "refs/remotes/<remote>/<branch>" (or "<remote>/<branch>" in short form).
181
- * The remote name is extracted and resolved via `git remote get-url`.
214
+ * reads `branch.<name>.remote` from git config, then resolves via
215
+ * `git remote get-url`.
182
216
  * 2. Fallback: `git remote get-url origin`.
183
217
  *
184
218
  * Returns undefined when resolution fails for any reason (not a git repo,
@@ -195,38 +229,16 @@ export function resolveDefaultGitRemote(repoPath) {
195
229
  timeout: 5000,
196
230
  stdio: ['pipe', 'pipe', 'pipe'],
197
231
  };
198
- // Step 1: resolve via the current branch's configured tracking remote.
199
- // Read branch.<name>.remote from git config directly — this works even when
200
- // the remote has never been fetched (no remote-tracking refs needed).
201
- try {
202
- const branch = execFileSync('git', ['rev-parse', '--abbrev-ref', 'HEAD'], execOpts).trim();
203
- if (branch && branch !== 'HEAD') {
204
- // git config returns exit 1 when the key is absent — caught below
205
- try {
206
- const remoteName = execFileSync('git', ['config', '--get', `branch.${branch}.remote`], execOpts).trim();
207
- if (remoteName) {
208
- try {
209
- return execFileSync('git', ['remote', 'get-url', remoteName], execOpts).trim();
210
- }
211
- catch {
212
- // remote name configured but deleted — fall through to origin fallback
213
- }
214
- }
215
- }
216
- catch {
217
- // No tracking remote configured for this branch
218
- }
232
+ const branch = gitCurrentBranch(execOpts);
233
+ if (branch) {
234
+ const remoteName = gitBranchRemote(branch, execOpts);
235
+ if (remoteName) {
236
+ const url = gitRemoteUrl(remoteName, execOpts);
237
+ if (url)
238
+ return url;
219
239
  }
220
240
  }
221
- catch {
222
- // Not a git repo or detached HEAD — fall through to origin fallback
223
- }
224
- // Step 2: fallback to 'origin'.
225
- try {
226
- return execFileSync('git', ['remote', 'get-url', 'origin'], execOpts).trim();
227
- }
228
- catch {
229
- return undefined; // No origin configured or not a git repo
230
- }
241
+ // Fallback to 'origin'.
242
+ return gitRemoteUrl('origin', execOpts);
231
243
  }
232
244
  //# sourceMappingURL=domain-utils.js.map