@curie-agent/daemon 0.2.5

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/LICENSE +179 -0
  2. package/dist/src/approval-tracker.d.ts +42 -0
  3. package/dist/src/approval-tracker.d.ts.map +1 -0
  4. package/dist/src/approval-tracker.js +78 -0
  5. package/dist/src/approval-tracker.js.map +1 -0
  6. package/dist/src/auth.d.ts +17 -0
  7. package/dist/src/auth.d.ts.map +1 -0
  8. package/dist/src/auth.js +94 -0
  9. package/dist/src/auth.js.map +1 -0
  10. package/dist/src/channel-manager.d.ts +50 -0
  11. package/dist/src/channel-manager.d.ts.map +1 -0
  12. package/dist/src/channel-manager.js +184 -0
  13. package/dist/src/channel-manager.js.map +1 -0
  14. package/dist/src/daemon-app.d.ts +88 -0
  15. package/dist/src/daemon-app.d.ts.map +1 -0
  16. package/dist/src/daemon-app.js +496 -0
  17. package/dist/src/daemon-app.js.map +1 -0
  18. package/dist/src/index.d.ts +19 -0
  19. package/dist/src/index.d.ts.map +1 -0
  20. package/dist/src/index.js +26 -0
  21. package/dist/src/index.js.map +1 -0
  22. package/dist/src/jsonrpc-handler.d.ts +47 -0
  23. package/dist/src/jsonrpc-handler.d.ts.map +1 -0
  24. package/dist/src/jsonrpc-handler.js +2205 -0
  25. package/dist/src/jsonrpc-handler.js.map +1 -0
  26. package/dist/src/server.d.ts +49 -0
  27. package/dist/src/server.d.ts.map +1 -0
  28. package/dist/src/server.js +204 -0
  29. package/dist/src/server.js.map +1 -0
  30. package/dist/src/slash-cd.d.ts +38 -0
  31. package/dist/src/slash-cd.d.ts.map +1 -0
  32. package/dist/src/slash-cd.js +93 -0
  33. package/dist/src/slash-cd.js.map +1 -0
  34. package/dist/src/static-files.d.ts +7 -0
  35. package/dist/src/static-files.d.ts.map +1 -0
  36. package/dist/src/static-files.js +73 -0
  37. package/dist/src/static-files.js.map +1 -0
  38. package/dist/src/ws-handler.d.ts +21 -0
  39. package/dist/src/ws-handler.d.ts.map +1 -0
  40. package/dist/src/ws-handler.js +119 -0
  41. package/dist/src/ws-handler.js.map +1 -0
  42. package/dist/tsconfig.tsbuildinfo +1 -0
  43. package/package.json +37 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonrpc-handler.js","sourceRoot":"","sources":["../../src/jsonrpc-handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import type { EventBus, SessionStore, SettingsManager, CurieSettings, ProviderStream, Tool } from '@curie-agent/core';
2
+ import { DaemonApp, type McpServerConfig, type SendMessageFn } from './daemon-app.js';
3
+ export type ProviderFactory = (settings: CurieSettings) => ProviderStream;
4
+ export interface DaemonConfig {
5
+ port?: number;
6
+ host?: string;
7
+ sessionStore: SessionStore;
8
+ settingsManager: SettingsManager;
9
+ eventBus: EventBus;
10
+ /** Factory to create a provider from current settings. */
11
+ createProvider?: ProviderFactory;
12
+ /** Tools to use for agent turns. */
13
+ tools?: Tool[];
14
+ /** Telegram bot token (enables Telegram gateway). */
15
+ telegramBotToken?: string;
16
+ /** Allowed Telegram user ID. */
17
+ telegramAllowedUserId?: string;
18
+ /** MCP server configurations. */
19
+ mcpServers?: Record<string, McpServerConfig>;
20
+ /** Optional callback for sending Telegram messages. */
21
+ sendMessage?: SendMessageFn;
22
+ /** System prompt for agent turns (e.g. from ~/.curie-agent/AGENTS.md). */
23
+ systemPrompt?: string;
24
+ /** Host to bind to (default 127.0.0.1). */
25
+ web_ip?: string;
26
+ }
27
+ export declare class DaemonServer {
28
+ private config;
29
+ private server;
30
+ private jsonRpc;
31
+ private wsHandler;
32
+ private webRoot;
33
+ app: DaemonApp;
34
+ private systemPrompt;
35
+ private webIp;
36
+ constructor(config: DaemonConfig);
37
+ start(): Promise<{
38
+ url: string;
39
+ port: number;
40
+ }>;
41
+ stop(): Promise<void>;
42
+ getPort(): number | undefined;
43
+ /** Get the current number of WebSocket clients. */
44
+ getClientCount(): number;
45
+ private handleRequest;
46
+ private handleJsonRpc;
47
+ private processJsonRpc;
48
+ }
49
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAKtH,OAAO,EAAE,SAAS,EAAE,KAAK,eAAe,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAItF,MAAM,MAAM,eAAe,GAAG,CAAC,QAAQ,EAAE,aAAa,KAAK,cAAc,CAAC;AAE1E,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,YAAY,CAAC;IAC3B,eAAe,EAAE,eAAe,CAAC;IACjC,QAAQ,EAAE,QAAQ,CAAC;IACnB,0DAA0D;IAC1D,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC,oCAAoC;IACpC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gCAAgC;IAChC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,iCAAiC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC7C,uDAAuD;IACvD,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,0EAA0E;IAC1E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,YAAY;IASX,OAAO,CAAC,MAAM;IAR1B,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,OAAO,CAAS;IACjB,GAAG,EAAE,SAAS,CAAC;IACtB,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,KAAK,CAAS;gBAEF,MAAM,EAAE,YAAY;IA+BlC,KAAK,IAAI,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IA8B/C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAY3B,OAAO,IAAI,MAAM,GAAG,SAAS;IAM7B,mDAAmD;IACnD,cAAc,IAAI,MAAM;IAIxB,OAAO,CAAC,aAAa;IAmFrB,OAAO,CAAC,aAAa;IAkCrB,OAAO,CAAC,cAAc;CAqBvB"}
@@ -0,0 +1,204 @@
1
+ import http from 'node:http';
2
+ import { URL } from 'node:url';
3
+ import { fileURLToPath } from 'node:url';
4
+ import { dirname, join } from 'node:path';
5
+ import { existsSync, readFileSync } from 'node:fs';
6
+ import { JsonRpcHandler } from './jsonrpc-handler.js';
7
+ import { WsHandler } from './ws-handler.js';
8
+ import { validateTokenHttp, rejectUnauthorized, setCorsHeaders, handleCorsPreflight, ensureToken } from './auth.js';
9
+ import { serveStaticFile, serveWebUI } from './static-files.js';
10
+ import { DaemonApp } from './daemon-app.js';
11
+ const __dirname = dirname(fileURLToPath(import.meta.url));
12
+ export class DaemonServer {
13
+ config;
14
+ server = null;
15
+ jsonRpc;
16
+ wsHandler;
17
+ webRoot;
18
+ app;
19
+ systemPrompt;
20
+ webIp;
21
+ constructor(config) {
22
+ this.config = config;
23
+ this.systemPrompt = config.systemPrompt;
24
+ this.webIp = config.web_ip ?? '';
25
+ this.app = new DaemonApp(config.eventBus, config.sessionStore, config.settingsManager, config.createProvider, config.tools ?? [], config.mcpServers, config.sendMessage, this.systemPrompt);
26
+ this.jsonRpc = new JsonRpcHandler(config.sessionStore, config.settingsManager, config.eventBus, config.createProvider, config.tools ?? [], this.app, this.systemPrompt);
27
+ this.wsHandler = new WsHandler(config.eventBus);
28
+ // Web root: check dev path first, then prod path
29
+ const devWeb = join(__dirname, '..', '..', '..', 'web', 'dist');
30
+ const prodWeb = join(__dirname, '..', '..', 'web', 'dist');
31
+ this.webRoot = existsSync(devWeb) ? devWeb : prodWeb;
32
+ }
33
+ async start() {
34
+ const port = this.config.port ?? 3457;
35
+ const host = this.webIp || this.config.host || process.env.HOST || '127.0.0.1';
36
+ return new Promise((resolve, reject) => {
37
+ this.server = http.createServer((req, res) => {
38
+ this.handleRequest(req, res);
39
+ });
40
+ // Setup WebSocket
41
+ this.wsHandler.setup(this.server);
42
+ this.server.listen(port, host, async () => {
43
+ const url = `http://${host}:${port}`;
44
+ console.log(`[daemon] Listening on ${url}`);
45
+ // Start daemon app subsystems (Telegram, cron checker)
46
+ await this.app.start();
47
+ resolve({ url, port });
48
+ });
49
+ this.server.on('error', (err) => {
50
+ if (err.code === 'EADDRINUSE') {
51
+ reject(new Error(`Port ${port} is already in use. Stop the existing daemon first: curie-agent daemon stop`));
52
+ }
53
+ else {
54
+ reject(err);
55
+ }
56
+ });
57
+ });
58
+ }
59
+ async stop() {
60
+ await this.app.stop();
61
+ return new Promise((resolve) => {
62
+ if (this.server) {
63
+ this.server.close(() => resolve());
64
+ this.server = null;
65
+ }
66
+ else {
67
+ resolve();
68
+ }
69
+ });
70
+ }
71
+ getPort() {
72
+ const addr = this.server?.address();
73
+ if (!addr || typeof addr === 'string')
74
+ return undefined;
75
+ return addr.port;
76
+ }
77
+ /** Get the current number of WebSocket clients. */
78
+ getClientCount() {
79
+ return this.wsHandler.getClientCount();
80
+ }
81
+ handleRequest(req, res) {
82
+ console.log(`[http] ${req.method} ${req.url} host=${req.headers.host} origin=${req.headers.origin ?? '(none)'}`);
83
+ // CORS on every response
84
+ setCorsHeaders(res);
85
+ // Handle preflight
86
+ if (req.method === 'OPTIONS') {
87
+ handleCorsPreflight(res);
88
+ return;
89
+ }
90
+ const url = new URL(req.url ?? '/', `http://${req.headers.host}`);
91
+ // Serve sw.js with no-cache so the browser can detect service worker updates
92
+ if (url.pathname === '/sw.js') {
93
+ const swPath = join(this.webRoot, 'sw.js');
94
+ if (existsSync(swPath)) {
95
+ const content = readFileSync(swPath);
96
+ res.setHeader('Cache-Control', 'no-cache');
97
+ res.setHeader('Content-Type', 'application/javascript');
98
+ res.setHeader('Service-Worker-Allowed', '/');
99
+ res.writeHead(200);
100
+ res.end(content);
101
+ return;
102
+ }
103
+ }
104
+ // Auth check (skip for /ws, handled by ws handler)
105
+ if (url.pathname === '/ws') {
106
+ // WS upgrade is handled by ws.Server
107
+ return;
108
+ }
109
+ // Validate token for all non-public requests (allow frontend static assets to load)
110
+ const isPublicAsset = url.pathname === '/' ||
111
+ url.pathname === '/index.html' ||
112
+ url.pathname === '/manifest.json' ||
113
+ url.pathname === '/sw.js' ||
114
+ url.pathname.startsWith('/icons/') ||
115
+ url.pathname.startsWith('/assets/');
116
+ if (!isPublicAsset && !validateTokenHttp(req)) {
117
+ console.log(`[http] auth FAILED path=${url.pathname}`);
118
+ rejectUnauthorized(res);
119
+ return;
120
+ }
121
+ // Set cookie if successfully authenticated via query param token to allow sub-resource loads
122
+ const token = ensureToken();
123
+ if (url.searchParams.get('token') === token) {
124
+ res.setHeader('Set-Cookie', `curie_token=${token}; Path=/; HttpOnly; SameSite=Strict`);
125
+ }
126
+ // Health check (auth required)
127
+ if (url.pathname === '/health' && req.method === 'GET') {
128
+ res.writeHead(200, { 'Content-Type': 'application/json' });
129
+ res.end(JSON.stringify({
130
+ status: 'ok',
131
+ version: '0.2.4',
132
+ clients: this.getClientCount(),
133
+ }));
134
+ return;
135
+ }
136
+ // JSON-RPC endpoint (auth required)
137
+ if (url.pathname === '/api/json-rpc') {
138
+ console.log(`[http] json-rpc path=${url.pathname} auth=${!!req.headers.authorization} token_query=${!!url.searchParams.get('token')}`);
139
+ this.handleJsonRpc(req, res);
140
+ return;
141
+ }
142
+ // Static file serving (web UI)
143
+ // Strip leading slash for file path
144
+ const filePath = url.pathname.slice(1) || 'index.html';
145
+ if (serveStaticFile(res, filePath, this.webRoot)) {
146
+ return;
147
+ }
148
+ // Fallback to index.html for SPA
149
+ serveWebUI(res, this.webRoot);
150
+ }
151
+ handleJsonRpc(req, res) {
152
+ console.log(`[http] handleJsonRpc method=${req.method} url=${req.url}`);
153
+ if (req.method === 'GET') {
154
+ // Parse query params as JSON body
155
+ const url = new URL(req.url ?? '/', `http://${req.headers.host}`);
156
+ const body = url.searchParams.get('body');
157
+ if (!body) {
158
+ res.writeHead(400, { 'Content-Type': 'application/json' });
159
+ res.end(JSON.stringify({ jsonrpc: '2.0', id: null, error: { code: -32600, message: 'Missing body' } }));
160
+ return;
161
+ }
162
+ this.processJsonRpc(JSON.parse(body), res);
163
+ return;
164
+ }
165
+ if (req.method === 'POST') {
166
+ let body = '';
167
+ req.on('data', (chunk) => { body += chunk.toString(); });
168
+ req.on('end', () => {
169
+ try {
170
+ const parsed = JSON.parse(body);
171
+ this.processJsonRpc(parsed, res);
172
+ }
173
+ catch {
174
+ res.writeHead(400, { 'Content-Type': 'application/json' });
175
+ res.end(JSON.stringify({ jsonrpc: '2.0', id: null, error: { code: -32700, message: 'Parse error' } }));
176
+ }
177
+ });
178
+ return;
179
+ }
180
+ res.writeHead(405, { 'Content-Type': 'application/json' });
181
+ res.end(JSON.stringify({ jsonrpc: '2.0', id: null, error: { code: -32600, message: 'Method not allowed' } }));
182
+ }
183
+ processJsonRpc(parsed, res) {
184
+ const request = parsed;
185
+ console.log(`[http] incoming method=${request?.method ?? 'INVALID'} body=${JSON.stringify(parsed).slice(0, 200)}`);
186
+ if (!request || request.jsonrpc !== '2.0') {
187
+ res.writeHead(400, { 'Content-Type': 'application/json' });
188
+ res.end(JSON.stringify({ jsonrpc: '2.0', id: null, error: { code: -32600, message: 'Invalid request' } }));
189
+ return;
190
+ }
191
+ this.jsonRpc.handle(request).then((result) => {
192
+ res.writeHead(200, { 'Content-Type': 'application/json' });
193
+ res.end(JSON.stringify(result));
194
+ }).catch((err) => {
195
+ res.writeHead(500, { 'Content-Type': 'application/json' });
196
+ res.end(JSON.stringify({
197
+ jsonrpc: '2.0',
198
+ id: request.id,
199
+ error: { code: -32603, message: err instanceof Error ? err.message : 'Unknown error' },
200
+ }));
201
+ });
202
+ }
203
+ }
204
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ export interface SlashCdResult {
2
+ kind: 'usage' | 'error' | 'not-found' | 'success';
3
+ message: string;
4
+ }
5
+ export interface SlashCdOptions {
6
+ /** Current session's CWD (from metadata). */
7
+ cwd: string;
8
+ /** User-typed path argument. */
9
+ pathArg: string;
10
+ /** Safety settings from the session. */
11
+ safetyPathAllowlist: unknown;
12
+ safetySnapshotsEnabled: boolean;
13
+ }
14
+ /**
15
+ * Resolve a user-provided path argument into an absolute, expanded path.
16
+ */
17
+ export declare function resolveCdPath(pathArg: string, cwd: string): string;
18
+ /**
19
+ * Validate that the resolved path exists and is a directory.
20
+ * Returns { ok: true, normalized } on success or an error object.
21
+ */
22
+ export declare function validateCdTarget(resolvedPath: string): {
23
+ ok: true;
24
+ normalized: string;
25
+ } | {
26
+ ok: false;
27
+ message: string;
28
+ };
29
+ /**
30
+ * Check whether the target directory passes PathGuard safety checks.
31
+ */
32
+ export declare function checkCdSafety(normalizedPath: string, cwd: string, allowlist: string[]): boolean;
33
+ /**
34
+ * Execute a full /cd operation and return the result.
35
+ * The caller (jsonrpc-handler) emits events based on the result.
36
+ */
37
+ export declare function executeCd(pathArg: string, currentCwd: string, safetyPathAllowlist: unknown, safetySnapshotsEnabled: boolean, sessionMetadataPath: string): Promise<SlashCdResult>;
38
+ //# sourceMappingURL=slash-cd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slash-cd.d.ts","sourceRoot":"","sources":["../../src/slash-cd.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC;IAClD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,6CAA6C;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,sBAAsB,EAAE,OAAO,CAAC;CACjC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAMlE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAexH;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAE/F;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAC7B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,mBAAmB,EAAE,OAAO,EAC5B,sBAAsB,EAAE,OAAO,EAC/B,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAAC,aAAa,CAAC,CA6CxB"}
@@ -0,0 +1,93 @@
1
+ import { homedir } from 'node:os';
2
+ import { join, isAbsolute, resolve as pathResolve } from 'node:path';
3
+ import { statSync, realpathSync, readFileSync, writeFileSync, existsSync } from 'node:fs';
4
+ import { isPathAllowed, parseAllowlist, createSnapshot } from '@curie-agent/core';
5
+ /**
6
+ * Resolve a user-provided path argument into an absolute, expanded path.
7
+ */
8
+ export function resolveCdPath(pathArg, cwd) {
9
+ const trimmed = pathArg.trim();
10
+ if (trimmed === '~')
11
+ return homedir();
12
+ if (trimmed.startsWith('~'))
13
+ return join(homedir(), trimmed.slice(2));
14
+ if (isAbsolute(trimmed))
15
+ return trimmed;
16
+ return pathResolve(cwd, trimmed);
17
+ }
18
+ /**
19
+ * Validate that the resolved path exists and is a directory.
20
+ * Returns { ok: true, normalized } on success or an error object.
21
+ */
22
+ export function validateCdTarget(resolvedPath) {
23
+ try {
24
+ const stat = statSync(resolvedPath);
25
+ if (!stat.isDirectory())
26
+ return { ok: false, message: `"${resolvedPath}" is not a directory.` };
27
+ }
28
+ catch (err) {
29
+ const msg = err instanceof Error ? err.message : 'unknown';
30
+ return { ok: false, message: `Cannot access "${resolvedPath}": ${msg}` };
31
+ }
32
+ // Normalize (resolve symlinks, cross-platform)
33
+ try {
34
+ return { ok: true, normalized: realpathSync(resolvedPath) };
35
+ }
36
+ catch {
37
+ return { ok: true, normalized: pathResolve(resolvedPath) };
38
+ }
39
+ }
40
+ /**
41
+ * Check whether the target directory passes PathGuard safety checks.
42
+ */
43
+ export function checkCdSafety(normalizedPath, cwd, allowlist) {
44
+ return isPathAllowed(normalizedPath, cwd, allowlist);
45
+ }
46
+ /**
47
+ * Execute a full /cd operation and return the result.
48
+ * The caller (jsonrpc-handler) emits events based on the result.
49
+ */
50
+ export async function executeCd(pathArg, currentCwd, safetyPathAllowlist, safetySnapshotsEnabled, sessionMetadataPath) {
51
+ // No args → usage
52
+ if (!pathArg.trim()) {
53
+ return { kind: 'usage', message: 'Usage: `/cd <path>` — Change working directory.\nExamples:\n* `/cd ../other-project` — relative to current\n* `/cd /home/user/docs` — absolute path\n* `/cd ~` — home directory' };
54
+ }
55
+ // Step 1: Resolve path
56
+ const resolved = resolveCdPath(pathArg, currentCwd);
57
+ // Step 2: Validate directory exists
58
+ const validation = validateCdTarget(resolved);
59
+ if (!validation.ok)
60
+ return { kind: 'error', message: validation.message };
61
+ // Step 3: PathGuard safety check
62
+ const allowlist = parseAllowlist(safetyPathAllowlist);
63
+ if (!checkCdSafety(validation.normalized, currentCwd, allowlist)) {
64
+ return {
65
+ kind: 'error',
66
+ message: `PathGuard: "${validation.normalized}" is outside the allowed directories (project: "${currentCwd}").\nPaths within ~${homedir()}/.curie-agent are always permitted.`,
67
+ };
68
+ }
69
+ // Step 4: Git snapshot of current directory before switching (best-effort)
70
+ try {
71
+ if (safetySnapshotsEnabled) {
72
+ await createSnapshot(currentCwd).catch(() => { });
73
+ }
74
+ }
75
+ catch {
76
+ // Snapshots are best-effort; silently ignore
77
+ }
78
+ // Step 5: Update session metadata with new CWD
79
+ try {
80
+ if (existsSync(sessionMetadataPath)) {
81
+ const info = JSON.parse(readFileSync(sessionMetadataPath, 'utf-8'));
82
+ info.cwd = validation.normalized;
83
+ info.updatedAt = Date.now();
84
+ writeFileSync(sessionMetadataPath, JSON.stringify(info, null, 2) + '\n');
85
+ }
86
+ }
87
+ catch (err) {
88
+ return { kind: 'error', message: `Failed to update session directory: ${err instanceof Error ? err.message : 'unknown error'}` };
89
+ }
90
+ // Step 6: Success
91
+ return { kind: 'success', message: `Changed directory to:\n**${validation.normalized}**` };
92
+ }
93
+ //# sourceMappingURL=slash-cd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slash-cd.js","sourceRoot":"","sources":["../../src/slash-cd.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { ServerResponse } from 'node:http';
2
+ export declare function getMimeType(filePath: string): string;
3
+ /** Serve a static file. Returns true if served, false if not found. */
4
+ export declare function serveStaticFile(res: ServerResponse, filePath: string, webRoot: string): boolean;
5
+ /** Serve the web UI. Falls back to index.html for SPA routing. */
6
+ export declare function serveWebUI(res: ServerResponse, webRoot: string): void;
7
+ //# sourceMappingURL=static-files.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static-files.d.ts","sourceRoot":"","sources":["../../src/static-files.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAwBhD,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGpD;AAED,uEAAuE;AACvE,wBAAgB,eAAe,CAC7B,GAAG,EAAE,cAAc,EACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,OAAO,CAqCT;AAED,kEAAkE;AAClE,wBAAgB,UAAU,CAAC,GAAG,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CASrE"}