@getpaseo/server 0.1.68 → 0.1.69
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.
- package/dist/scripts/dev-runner.js +4 -1
- package/dist/scripts/dev-runner.js.map +1 -1
- package/dist/scripts/supervisor-entrypoint.js +32 -10
- package/dist/scripts/supervisor-entrypoint.js.map +1 -1
- package/dist/scripts/supervisor.js +71 -6
- package/dist/scripts/supervisor.js.map +1 -1
- package/dist/server/server/agent/agent-storage.d.ts +2 -2
- package/dist/server/server/agent/mcp-server.js +1 -1
- package/dist/server/server/agent/mcp-server.js.map +1 -1
- package/dist/server/server/agent/mcp-shared.d.ts +2 -2
- package/dist/server/server/agent/providers/claude-agent.d.ts +2 -1
- package/dist/server/server/agent/providers/claude-agent.d.ts.map +1 -1
- package/dist/server/server/agent/providers/claude-agent.js +46 -1
- package/dist/server/server/agent/providers/claude-agent.js.map +1 -1
- package/dist/server/server/bootstrap.d.ts +2 -0
- package/dist/server/server/bootstrap.d.ts.map +1 -1
- package/dist/server/server/bootstrap.js +0 -8
- package/dist/server/server/bootstrap.js.map +1 -1
- package/dist/server/server/chat/chat-rpc-schemas.d.ts +42 -42
- package/dist/server/server/chat/chat-types.d.ts +6 -6
- package/dist/server/server/config.d.ts.map +1 -1
- package/dist/server/server/config.js +20 -1
- package/dist/server/server/config.js.map +1 -1
- package/dist/server/server/daemon-worker.d.ts +2 -0
- package/dist/server/server/daemon-worker.d.ts.map +1 -0
- package/dist/server/server/{index.js → daemon-worker.js} +10 -41
- package/dist/server/server/daemon-worker.js.map +1 -0
- package/dist/server/server/logger.d.ts +2 -6
- package/dist/server/server/logger.d.ts.map +1 -1
- package/dist/server/server/logger.js +28 -118
- package/dist/server/server/logger.js.map +1 -1
- package/dist/server/server/loop/rpc-schemas.d.ts +272 -272
- package/dist/server/server/loop-service.d.ts +50 -50
- package/dist/server/server/persisted-config.d.ts +18 -16
- package/dist/server/server/persisted-config.d.ts.map +1 -1
- package/dist/server/server/persisted-config.js +2 -2
- package/dist/server/server/persisted-config.js.map +1 -1
- package/dist/server/server/schedule/rpc-schemas.d.ts +52 -52
- package/dist/server/server/schedule/types.d.ts +12 -12
- package/dist/server/shared/messages.d.ts +3073 -3073
- package/dist/server/terminal/terminal-capture.d.ts +12 -0
- package/dist/server/terminal/terminal-capture.d.ts.map +1 -0
- package/dist/server/terminal/terminal-capture.js +43 -0
- package/dist/server/terminal/terminal-capture.js.map +1 -0
- package/dist/server/terminal/terminal-manager-factory.d.ts +2 -6
- package/dist/server/terminal/terminal-manager-factory.d.ts.map +1 -1
- package/dist/server/terminal/terminal-manager-factory.js +2 -10
- package/dist/server/terminal/terminal-manager-factory.js.map +1 -1
- package/dist/server/terminal/terminal-worker-process.js +1 -1
- package/dist/server/terminal/terminal-worker-process.js.map +1 -1
- package/dist/server/terminal/terminal-worker-protocol.d.ts +1 -1
- package/dist/server/terminal/terminal-worker-protocol.d.ts.map +1 -1
- package/dist/server/terminal/terminal.d.ts +1 -11
- package/dist/server/terminal/terminal.d.ts.map +1 -1
- package/dist/server/terminal/terminal.js +1 -42
- package/dist/server/terminal/terminal.js.map +1 -1
- package/dist/server/utils/worktree.d.ts.map +1 -1
- package/dist/server/utils/worktree.js +18 -43
- package/dist/server/utils/worktree.js.map +1 -1
- package/dist/src/server/agent/agent-sdk-types.js +12 -0
- package/dist/src/server/agent/agent-sdk-types.js.map +1 -0
- package/dist/src/server/agent/agent-title-limits.js +3 -0
- package/dist/src/server/agent/agent-title-limits.js.map +1 -0
- package/dist/src/server/agent/provider-launch-config.js +189 -0
- package/dist/src/server/agent/provider-launch-config.js.map +1 -0
- package/dist/src/server/agent/provider-manifest.js +186 -0
- package/dist/src/server/agent/provider-manifest.js.map +1 -0
- package/dist/src/server/chat/chat-rpc-schemas.js +103 -0
- package/dist/src/server/chat/chat-rpc-schemas.js.map +1 -0
- package/dist/src/server/chat/chat-types.js +22 -0
- package/dist/src/server/chat/chat-types.js.map +1 -0
- package/dist/src/server/loop/rpc-schemas.js +159 -0
- package/dist/src/server/loop/rpc-schemas.js.map +1 -0
- package/dist/src/server/paseo-env.js +70 -0
- package/dist/src/server/paseo-env.js.map +1 -0
- package/dist/src/server/persisted-config.js +362 -0
- package/dist/src/server/persisted-config.js.map +1 -0
- package/dist/src/server/schedule/rpc-schemas.js +112 -0
- package/dist/src/server/schedule/rpc-schemas.js.map +1 -0
- package/dist/src/server/schedule/types.js +73 -0
- package/dist/src/server/schedule/types.js.map +1 -0
- package/dist/src/shared/agent-lifecycle.js +8 -0
- package/dist/src/shared/agent-lifecycle.js.map +1 -0
- package/dist/src/shared/client-capabilities.js +4 -0
- package/dist/src/shared/client-capabilities.js.map +1 -0
- package/dist/src/shared/literal-union.js +2 -0
- package/dist/src/shared/literal-union.js.map +1 -0
- package/dist/src/shared/messages.js +3022 -0
- package/dist/src/shared/messages.js.map +1 -0
- package/dist/src/utils/executable.js +114 -0
- package/dist/src/utils/executable.js.map +1 -0
- package/dist/src/utils/paseo-config-schema.js +60 -0
- package/dist/src/utils/paseo-config-schema.js.map +1 -0
- package/dist/src/utils/spawn.js +70 -0
- package/dist/src/utils/spawn.js.map +1 -0
- package/dist/src/utils/windows-command.js +41 -0
- package/dist/src/utils/windows-command.js.map +1 -0
- package/package.json +5 -5
- package/dist/server/server/index.d.ts +0 -2
- package/dist/server/server/index.d.ts.map +0 -1
- package/dist/server/server/index.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
2
|
import { resolvePaseoNodeEnv } from "./paseo-env.js";
|
|
3
3
|
import { z } from "zod";
|
|
4
|
-
import { loadPersistedConfig } from "./persisted-config.js";
|
|
4
|
+
import { loadPersistedConfig, LogFormatSchema, LogLevelSchema, } from "./persisted-config.js";
|
|
5
5
|
import { ProviderOverrideSchema } from "./agent/provider-launch-config.js";
|
|
6
6
|
import { AgentProviderSchema } from "./agent/provider-manifest.js";
|
|
7
7
|
import { hashDaemonPassword } from "./auth.js";
|
|
@@ -23,6 +23,24 @@ function parseBooleanEnv(value) {
|
|
|
23
23
|
}
|
|
24
24
|
return undefined;
|
|
25
25
|
}
|
|
26
|
+
function normalizeLogEnv(value) {
|
|
27
|
+
if (value === undefined) {
|
|
28
|
+
return undefined;
|
|
29
|
+
}
|
|
30
|
+
return value.trim().toLowerCase();
|
|
31
|
+
}
|
|
32
|
+
function resolveLogConfigFromEnv(env, persisted) {
|
|
33
|
+
const envLogLevel = LogLevelSchema.safeParse(normalizeLogEnv(env.PASEO_LOG_LEVEL));
|
|
34
|
+
const envLogFormat = LogFormatSchema.safeParse(normalizeLogEnv(env.PASEO_LOG_FORMAT));
|
|
35
|
+
if (!envLogLevel.success && !envLogFormat.success) {
|
|
36
|
+
return persisted.log;
|
|
37
|
+
}
|
|
38
|
+
return {
|
|
39
|
+
...persisted.log,
|
|
40
|
+
...(envLogLevel.success ? { level: envLogLevel.data } : {}),
|
|
41
|
+
...(envLogFormat.success ? { format: envLogFormat.data } : {}),
|
|
42
|
+
};
|
|
43
|
+
}
|
|
26
44
|
const OptionalVoiceLlmProviderSchema = z
|
|
27
45
|
.union([z.string(), z.null(), z.undefined()])
|
|
28
46
|
.transform((value) => typeof value === "string" ? value.trim().toLowerCase() : null)
|
|
@@ -171,6 +189,7 @@ export function loadConfig(paseoHome, options) {
|
|
|
171
189
|
voiceLlmModel: voiceLlm.model,
|
|
172
190
|
agentProviderSettings: extractAgentProviderSettings(providerOverrides),
|
|
173
191
|
providerOverrides,
|
|
192
|
+
log: resolveLogConfigFromEnv(env, persisted),
|
|
174
193
|
};
|
|
175
194
|
}
|
|
176
195
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/server/config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/server/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"daemon-worker.d.ts","sourceRoot":"","sources":["../../../src/server/daemon-worker.ts"],"names":[],"mappings":""}
|
|
@@ -2,14 +2,11 @@ import { createPaseoDaemon } from "./bootstrap.js";
|
|
|
2
2
|
import { loadConfig } from "./config.js";
|
|
3
3
|
import { resolvePaseoHome } from "./paseo-home.js";
|
|
4
4
|
import { createRootLogger } from "./logger.js";
|
|
5
|
-
import { loadPersistedConfig } from "./persisted-config.js";
|
|
6
|
-
import { acquirePidLock, PidLockError, releasePidLock, updatePidLock } from "./pid-lock.js";
|
|
7
5
|
function bootstrapFromEnvironment() {
|
|
8
6
|
try {
|
|
9
7
|
const paseoHome = resolvePaseoHome();
|
|
10
|
-
const persistedConfig = loadPersistedConfig(paseoHome);
|
|
11
|
-
const logger = createRootLogger(persistedConfig, { paseoHome });
|
|
12
8
|
const config = loadConfig(paseoHome);
|
|
9
|
+
const logger = createRootLogger({ log: config.log }, { paseoHome, file: false });
|
|
13
10
|
return { paseoHome, logger, config };
|
|
14
11
|
}
|
|
15
12
|
catch (err) {
|
|
@@ -30,12 +27,10 @@ function applyCliFlagOverrides(config) {
|
|
|
30
27
|
}
|
|
31
28
|
}
|
|
32
29
|
async function main() {
|
|
33
|
-
const {
|
|
30
|
+
const { logger, config } = bootstrapFromEnvironment();
|
|
34
31
|
let daemon = null;
|
|
35
32
|
let shutdownPromise = null;
|
|
36
33
|
let exitHookInstalled = false;
|
|
37
|
-
const supervised = process.env.PASEO_SUPERVISED === "1" && typeof process.send === "function";
|
|
38
|
-
let pidLockAcquired = false;
|
|
39
34
|
applyCliFlagOverrides(config);
|
|
40
35
|
const installExitHook = () => {
|
|
41
36
|
if (exitHookInstalled || !shutdownPromise) {
|
|
@@ -61,10 +56,6 @@ async function main() {
|
|
|
61
56
|
return 1;
|
|
62
57
|
}
|
|
63
58
|
await daemon.stop();
|
|
64
|
-
if (pidLockAcquired) {
|
|
65
|
-
await releasePidLock(paseoHome);
|
|
66
|
-
pidLockAcquired = false;
|
|
67
|
-
}
|
|
68
59
|
clearTimeout(forceExit);
|
|
69
60
|
logger.info("Server closed");
|
|
70
61
|
return options?.successExitCode ?? 0;
|
|
@@ -113,49 +104,27 @@ async function main() {
|
|
|
113
104
|
beginShutdown("restart lifecycle intent", { successExitCode: 0 });
|
|
114
105
|
};
|
|
115
106
|
try {
|
|
116
|
-
if (!supervised) {
|
|
117
|
-
await acquirePidLock(paseoHome, null);
|
|
118
|
-
pidLockAcquired = true;
|
|
119
|
-
}
|
|
120
107
|
daemon = await createPaseoDaemon({
|
|
121
108
|
...config,
|
|
122
109
|
onLifecycleIntent: handleLifecycleIntent,
|
|
123
110
|
}, logger);
|
|
124
111
|
}
|
|
125
112
|
catch (err) {
|
|
126
|
-
if (pidLockAcquired) {
|
|
127
|
-
await releasePidLock(paseoHome);
|
|
128
|
-
pidLockAcquired = false;
|
|
129
|
-
}
|
|
130
|
-
if (err instanceof PidLockError) {
|
|
131
|
-
logger.error({ pid: err.existingLock?.pid }, err.message);
|
|
132
|
-
process.exit(1);
|
|
133
|
-
}
|
|
134
113
|
logger.fatal({ err }, "Daemon bootstrap failed");
|
|
135
114
|
throw err;
|
|
136
115
|
}
|
|
137
116
|
try {
|
|
138
117
|
await daemon.start();
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
throw new Error("Daemon did not expose a listen target after startup");
|
|
146
|
-
}
|
|
147
|
-
await updatePidLock(paseoHome, { listen });
|
|
118
|
+
const listenTarget = daemon.getListenTarget();
|
|
119
|
+
const listen = listenTarget?.type === "tcp"
|
|
120
|
+
? `${listenTarget.host}:${listenTarget.port}`
|
|
121
|
+
: listenTarget?.path;
|
|
122
|
+
if (!listen) {
|
|
123
|
+
throw new Error("Daemon did not expose a listen target after startup");
|
|
148
124
|
}
|
|
125
|
+
sendSupervisorLifecycleMessage({ type: "paseo:ready", listen });
|
|
149
126
|
}
|
|
150
127
|
catch (err) {
|
|
151
|
-
if (pidLockAcquired) {
|
|
152
|
-
await releasePidLock(paseoHome);
|
|
153
|
-
pidLockAcquired = false;
|
|
154
|
-
}
|
|
155
|
-
if (err instanceof PidLockError) {
|
|
156
|
-
logger.error({ pid: err.existingLock?.pid }, err.message);
|
|
157
|
-
process.exit(1);
|
|
158
|
-
}
|
|
159
128
|
logger.fatal({ err }, "Daemon failed to start listening");
|
|
160
129
|
throw err;
|
|
161
130
|
}
|
|
@@ -180,4 +149,4 @@ main().catch((err) => {
|
|
|
180
149
|
process.stderr.write(`${err instanceof Error ? (err.stack ?? err.message) : String(err)}\n`);
|
|
181
150
|
exitAfterPinoFlush();
|
|
182
151
|
});
|
|
183
|
-
//# sourceMappingURL=
|
|
152
|
+
//# sourceMappingURL=daemon-worker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"daemon-worker.js","sourceRoot":"","sources":["../../../src/server/daemon-worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,13 +8,9 @@ export interface ResolvedLogConfig {
|
|
|
8
8
|
level: LogLevel;
|
|
9
9
|
format: LogFormat;
|
|
10
10
|
};
|
|
11
|
-
file
|
|
11
|
+
file?: {
|
|
12
12
|
level: LogLevel;
|
|
13
13
|
path: string;
|
|
14
|
-
rotate: {
|
|
15
|
-
maxSize: string;
|
|
16
|
-
maxFiles: number;
|
|
17
|
-
};
|
|
18
14
|
};
|
|
19
15
|
}
|
|
20
16
|
interface LegacyLogConfig {
|
|
@@ -24,7 +20,7 @@ interface LegacyLogConfig {
|
|
|
24
20
|
type LoggerConfigInput = PersistedConfig | LegacyLogConfig | undefined;
|
|
25
21
|
interface ResolveLogConfigOptions {
|
|
26
22
|
paseoHome?: string;
|
|
27
|
-
|
|
23
|
+
file?: boolean;
|
|
28
24
|
}
|
|
29
25
|
export declare function resolveLogConfig(configInput: LoggerConfigInput, options?: ResolveLogConfigOptions): ResolvedLogConfig;
|
|
30
26
|
export declare function createRootLogger(configInput: LoggerConfigInput, options?: ResolveLogConfigOptions): pino.Logger;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/server/logger.ts"],"names":[],"mappings":"AAEA,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/server/logger.ts"],"names":[],"mappings":"AAEA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG7D,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAC/E,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE1C,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,EAAE;QACP,KAAK,EAAE,QAAQ,CAAC;QAChB,MAAM,EAAE,SAAS,CAAC;KACnB,CAAC;IACF,IAAI,CAAC,EAAE;QACL,KAAK,EAAE,QAAQ,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED,UAAU,eAAe;IACvB,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAED,KAAK,iBAAiB,GAAG,eAAe,GAAG,eAAe,GAAG,SAAS,CAAC;AAEvE,UAAU,uBAAuB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAwGD,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,iBAAiB,EAC9B,OAAO,CAAC,EAAE,uBAAuB,GAChC,iBAAiB,CAsBnB;AAED,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,iBAAiB,EAC9B,OAAO,CAAC,EAAE,uBAAuB,GAChC,IAAI,CAAC,MAAM,CAuBb;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,CAEhF"}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { mkdirSync } from "node:fs";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import pino from "pino";
|
|
4
4
|
import pretty from "pino-pretty";
|
|
5
|
-
import { createStream as createRotatingFileStream } from "rotating-file-stream";
|
|
6
5
|
import { resolvePaseoHome } from "./paseo-home.js";
|
|
7
|
-
const LOG_LEVELS = new Set(["trace", "debug", "info", "warn", "error", "fatal"]);
|
|
8
|
-
const LOG_FORMATS = new Set(["pretty", "json"]);
|
|
9
6
|
const LOG_LEVEL_PRIORITIES = {
|
|
10
7
|
trace: 10,
|
|
11
8
|
debug: 20,
|
|
@@ -15,10 +12,8 @@ const LOG_LEVEL_PRIORITIES = {
|
|
|
15
12
|
fatal: 60,
|
|
16
13
|
};
|
|
17
14
|
const DEFAULT_CONSOLE_LEVEL = "info";
|
|
18
|
-
const DEFAULT_CONSOLE_FORMAT = "
|
|
15
|
+
const DEFAULT_CONSOLE_FORMAT = "json";
|
|
19
16
|
const DEFAULT_FILE_LEVEL = "debug";
|
|
20
|
-
const DEFAULT_FILE_ROTATE_SIZE = "10m";
|
|
21
|
-
const DEFAULT_FILE_ROTATE_MAX_FILES = 2;
|
|
22
17
|
const DEFAULT_DAEMON_LOG_FILENAME = "daemon.log";
|
|
23
18
|
const REDACT_PATHS = [
|
|
24
19
|
"authorization",
|
|
@@ -34,28 +29,6 @@ const REDACT_PATHS = [
|
|
|
34
29
|
'req.headers["sec-websocket-protocol"]',
|
|
35
30
|
"req.headers.Sec-WebSocket-Protocol",
|
|
36
31
|
];
|
|
37
|
-
function parseLogLevel(value) {
|
|
38
|
-
if (!value || !LOG_LEVELS.has(value)) {
|
|
39
|
-
return undefined;
|
|
40
|
-
}
|
|
41
|
-
return value;
|
|
42
|
-
}
|
|
43
|
-
function parseLogFormat(value) {
|
|
44
|
-
if (!value || !LOG_FORMATS.has(value)) {
|
|
45
|
-
return undefined;
|
|
46
|
-
}
|
|
47
|
-
return value;
|
|
48
|
-
}
|
|
49
|
-
function parsePositiveInteger(value) {
|
|
50
|
-
if (!value || value.trim().length === 0) {
|
|
51
|
-
return undefined;
|
|
52
|
-
}
|
|
53
|
-
const parsed = Number.parseInt(value, 10);
|
|
54
|
-
if (!Number.isInteger(parsed) || parsed <= 0) {
|
|
55
|
-
return undefined;
|
|
56
|
-
}
|
|
57
|
-
return parsed;
|
|
58
|
-
}
|
|
59
32
|
function resolveFilePath(paseoHome, configuredPath) {
|
|
60
33
|
const fallback = path.join(paseoHome, DEFAULT_DAEMON_LOG_FILENAME);
|
|
61
34
|
if (!configuredPath) {
|
|
@@ -79,7 +52,7 @@ function resolveConfiguredPaseoHome(options) {
|
|
|
79
52
|
if (options?.paseoHome) {
|
|
80
53
|
return options.paseoHome;
|
|
81
54
|
}
|
|
82
|
-
return resolvePaseoHome(
|
|
55
|
+
return resolvePaseoHome();
|
|
83
56
|
}
|
|
84
57
|
function normalizeLoggerConfigInput(config) {
|
|
85
58
|
if (!config) {
|
|
@@ -99,115 +72,52 @@ function normalizeLoggerConfigInput(config) {
|
|
|
99
72
|
}
|
|
100
73
|
return config;
|
|
101
74
|
}
|
|
102
|
-
function
|
|
103
|
-
if (!existsSync(filePath))
|
|
104
|
-
return;
|
|
105
|
-
const dir = path.dirname(filePath);
|
|
106
|
-
const base = path.basename(filePath);
|
|
107
|
-
const now = new Date();
|
|
108
|
-
const pad = (n) => String(n).padStart(2, "0");
|
|
109
|
-
const ts = `${now.getFullYear()}${pad(now.getMonth() + 1)}${pad(now.getDate())}-${pad(now.getHours())}${pad(now.getMinutes())}`;
|
|
110
|
-
try {
|
|
111
|
-
renameSync(filePath, path.join(dir, `${ts}-00-${base}`));
|
|
112
|
-
}
|
|
113
|
-
catch {
|
|
114
|
-
return;
|
|
115
|
-
}
|
|
116
|
-
// Clean up old rotated logs beyond maxFiles.
|
|
117
|
-
// Both our restart-rotated files (YYYYMMDD-HHMM-00-daemon.log) and
|
|
118
|
-
// rotating-file-stream's size-rotated files (YYYYMMDD-HHMM-NN-daemon.log)
|
|
119
|
-
// end with -${base} and sort chronologically by name.
|
|
120
|
-
const rotatedFiles = readdirSync(dir)
|
|
121
|
-
.filter((f) => f.endsWith(`-${base}`) && f !== base)
|
|
122
|
-
.sort()
|
|
123
|
-
.toReversed();
|
|
124
|
-
for (const file of rotatedFiles.slice(maxFiles)) {
|
|
125
|
-
try {
|
|
126
|
-
unlinkSync(path.join(dir, file));
|
|
127
|
-
}
|
|
128
|
-
catch { }
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
function toRotatingFileStreamSize(size) {
|
|
132
|
-
const trimmed = size.trim();
|
|
133
|
-
const match = trimmed.match(/^(\d+)\s*([bBkKmMgG])?$/);
|
|
134
|
-
if (!match) {
|
|
135
|
-
return trimmed;
|
|
136
|
-
}
|
|
137
|
-
const value = match[1];
|
|
138
|
-
const unit = (match[2] ?? "M").toUpperCase();
|
|
139
|
-
return `${value}${unit}`;
|
|
140
|
-
}
|
|
141
|
-
function resolveLogLevelsAndFormat(env, persistedLog) {
|
|
142
|
-
const envGlobalLevel = parseLogLevel(env.PASEO_LOG);
|
|
75
|
+
function resolveLogLevelsAndFormat(persistedLog) {
|
|
143
76
|
const persistedGlobalLevel = persistedLog?.level;
|
|
144
|
-
const consoleLevel =
|
|
145
|
-
|
|
146
|
-
persistedLog
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
const fileLevel = parseLogLevel(env.PASEO_LOG_FILE_LEVEL) ??
|
|
150
|
-
envGlobalLevel ??
|
|
151
|
-
persistedLog?.file?.level ??
|
|
152
|
-
persistedGlobalLevel ??
|
|
153
|
-
DEFAULT_FILE_LEVEL;
|
|
154
|
-
const consoleFormat = parseLogFormat(env.PASEO_LOG_FORMAT) ??
|
|
155
|
-
persistedLog?.console?.format ??
|
|
156
|
-
persistedLog?.format ??
|
|
157
|
-
DEFAULT_CONSOLE_FORMAT;
|
|
77
|
+
const consoleLevel = persistedLog?.console?.level ?? persistedGlobalLevel ?? DEFAULT_CONSOLE_LEVEL;
|
|
78
|
+
const fileLevel = persistedLog?.file
|
|
79
|
+
? (persistedLog.file.level ?? persistedGlobalLevel ?? DEFAULT_FILE_LEVEL)
|
|
80
|
+
: undefined;
|
|
81
|
+
const consoleFormat = persistedLog?.console?.format ?? persistedLog?.format ?? DEFAULT_CONSOLE_FORMAT;
|
|
158
82
|
return { consoleLevel, fileLevel, consoleFormat };
|
|
159
83
|
}
|
|
160
|
-
function resolveRotateConfig(env, persistedLog) {
|
|
161
|
-
return {
|
|
162
|
-
maxSize: env.PASEO_LOG_FILE_ROTATE_SIZE?.trim() ||
|
|
163
|
-
persistedLog?.file?.rotate?.maxSize ||
|
|
164
|
-
DEFAULT_FILE_ROTATE_SIZE,
|
|
165
|
-
maxFiles: parsePositiveInteger(env.PASEO_LOG_FILE_ROTATE_COUNT) ??
|
|
166
|
-
persistedLog?.file?.rotate?.maxFiles ??
|
|
167
|
-
DEFAULT_FILE_ROTATE_MAX_FILES,
|
|
168
|
-
};
|
|
169
|
-
}
|
|
170
84
|
export function resolveLogConfig(configInput, options) {
|
|
171
85
|
const persistedConfig = normalizeLoggerConfigInput(configInput);
|
|
172
|
-
const env = options?.env ?? process.env;
|
|
173
86
|
const paseoHome = resolveConfiguredPaseoHome(options);
|
|
174
87
|
const persistedLog = persistedConfig?.log;
|
|
175
|
-
const { consoleLevel, fileLevel, consoleFormat } = resolveLogLevelsAndFormat(
|
|
176
|
-
const
|
|
177
|
-
|
|
88
|
+
const { consoleLevel, fileLevel, consoleFormat } = resolveLogLevelsAndFormat(persistedLog);
|
|
89
|
+
const file = options?.file !== false && persistedLog?.file
|
|
90
|
+
? {
|
|
91
|
+
level: fileLevel ?? DEFAULT_FILE_LEVEL,
|
|
92
|
+
path: resolveFilePath(paseoHome, persistedLog.file.path),
|
|
93
|
+
}
|
|
94
|
+
: undefined;
|
|
178
95
|
return {
|
|
179
|
-
level: minLogLevel([consoleLevel,
|
|
96
|
+
level: minLogLevel(file ? [consoleLevel, file.level] : [consoleLevel]),
|
|
180
97
|
console: {
|
|
181
98
|
level: consoleLevel,
|
|
182
99
|
format: consoleFormat,
|
|
183
100
|
},
|
|
184
|
-
file: {
|
|
185
|
-
level: fileLevel,
|
|
186
|
-
path: filePath,
|
|
187
|
-
rotate,
|
|
188
|
-
},
|
|
101
|
+
...(file ? { file } : {}),
|
|
189
102
|
};
|
|
190
103
|
}
|
|
191
104
|
export function createRootLogger(configInput, options) {
|
|
192
105
|
const config = resolveLogConfig(configInput, options);
|
|
193
|
-
|
|
194
|
-
|
|
106
|
+
if (config.file) {
|
|
107
|
+
mkdirSync(path.dirname(config.file.path), { recursive: true });
|
|
108
|
+
}
|
|
109
|
+
const stream = config.console.format === "pretty"
|
|
195
110
|
? pretty({
|
|
196
111
|
colorize: true,
|
|
197
112
|
singleLine: true,
|
|
198
113
|
ignore: "pid,hostname",
|
|
114
|
+
destination: config.file?.path ?? 1,
|
|
199
115
|
})
|
|
200
|
-
: pino.destination({ dest: 1, sync: false });
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
maxFiles: config.file.rotate.maxFiles,
|
|
206
|
-
});
|
|
207
|
-
return pino({ level: config.level, redact: { paths: REDACT_PATHS, remove: true } }, pino.multistream([
|
|
208
|
-
{ level: config.console.level, stream: consoleStream },
|
|
209
|
-
{ level: config.file.level, stream: fileStream },
|
|
210
|
-
]));
|
|
116
|
+
: pino.destination({ dest: config.file?.path ?? 1, sync: false });
|
|
117
|
+
return pino({
|
|
118
|
+
level: config.file?.level ?? config.console.level,
|
|
119
|
+
redact: { paths: REDACT_PATHS, remove: true },
|
|
120
|
+
}, stream);
|
|
211
121
|
}
|
|
212
122
|
export function createChildLogger(parent, name) {
|
|
213
123
|
return parent.child({ name });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/server/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/server/logger.ts"],"names":[],"mappings":"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"}
|