@amodalai/runtime 0.1.24 → 0.1.26
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/src/__tests__/providers.test.d.ts +6 -0
- package/dist/src/__tests__/providers.test.js +209 -0
- package/dist/src/__tests__/providers.test.js.map +1 -0
- package/dist/src/__tests__/sse-contract.test.d.ts +6 -0
- package/dist/src/__tests__/sse-contract.test.js +464 -0
- package/dist/src/__tests__/sse-contract.test.js.map +1 -0
- package/dist/src/__tests__/tools.test.d.ts +6 -0
- package/dist/src/__tests__/tools.test.js +583 -0
- package/dist/src/__tests__/tools.test.js.map +1 -0
- package/dist/src/agent/agent-types.d.ts +2 -2
- package/dist/src/agent/config-watcher.test.js +18 -14
- package/dist/src/agent/config-watcher.test.js.map +1 -1
- package/dist/src/agent/local-server.js +64 -9
- package/dist/src/agent/local-server.js.map +1 -1
- package/dist/src/agent/local-server.test.js +17 -13
- package/dist/src/agent/local-server.test.js.map +1 -1
- package/dist/src/agent/proactive/proactive-runner.js +6 -1
- package/dist/src/agent/proactive/proactive-runner.js.map +1 -1
- package/dist/src/agent/routes/admin-chat.js +1 -0
- package/dist/src/agent/routes/admin-chat.js.map +1 -1
- package/dist/src/agent/routes/automations.js +2 -0
- package/dist/src/agent/routes/automations.js.map +1 -1
- package/dist/src/agent/routes/evals.js +1 -0
- package/dist/src/agent/routes/evals.js.map +1 -1
- package/dist/src/agent/routes/files.js +3 -0
- package/dist/src/agent/routes/files.js.map +1 -1
- package/dist/src/agent/routes/inspect.js +4 -1
- package/dist/src/agent/routes/inspect.js.map +1 -1
- package/dist/src/agent/routes/stores.js +4 -0
- package/dist/src/agent/routes/stores.js.map +1 -1
- package/dist/src/agent/routes/task.js +1 -0
- package/dist/src/agent/routes/task.js.map +1 -1
- package/dist/src/agent/routes/webhooks.js +1 -0
- package/dist/src/agent/routes/webhooks.js.map +1 -1
- package/dist/src/config.d.ts +96 -0
- package/dist/src/config.js +221 -0
- package/dist/src/config.js.map +1 -0
- package/dist/src/config.test.d.ts +6 -0
- package/dist/src/config.test.js +235 -0
- package/dist/src/config.test.js.map +1 -0
- package/dist/src/errors.d.ts +145 -0
- package/dist/src/errors.js +218 -0
- package/dist/src/errors.js.map +1 -0
- package/dist/src/errors.test.d.ts +6 -0
- package/dist/src/errors.test.js +203 -0
- package/dist/src/errors.test.js.map +1 -0
- package/dist/src/index.d.ts +8 -1
- package/dist/src/index.js +8 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/logger.d.ts +33 -29
- package/dist/src/logger.js +70 -65
- package/dist/src/logger.js.map +1 -1
- package/dist/src/logger.test.d.ts +6 -0
- package/dist/src/logger.test.js +198 -0
- package/dist/src/logger.test.js.map +1 -0
- package/dist/src/routes/ai-stream.js +4 -1
- package/dist/src/routes/ai-stream.js.map +1 -1
- package/dist/src/routes/chat-stream.js +3 -1
- package/dist/src/routes/chat-stream.js.map +1 -1
- package/dist/src/routes/chat.js +1 -0
- package/dist/src/routes/chat.js.map +1 -1
- package/dist/src/routes/webhooks.js +3 -1
- package/dist/src/routes/webhooks.js.map +1 -1
- package/dist/src/server.test.js +66 -62
- package/dist/src/server.test.js.map +1 -1
- package/dist/src/session/session-manager.js +14 -4
- package/dist/src/session/session-manager.js.map +1 -1
- package/dist/src/session/session-manager.test.js +28 -24
- package/dist/src/session/session-manager.test.js.map +1 -1
- package/dist/src/session/session-runner.test.js +22 -18
- package/dist/src/session/session-runner.test.js.map +1 -1
- package/dist/src/stores/pglite-store-backend.js +6 -0
- package/dist/src/stores/pglite-store-backend.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -2
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Amodal Labs, Inc.
|
|
4
|
+
* SPDX-License-Identifier: MIT
|
|
5
|
+
*/
|
|
6
|
+
import { describe, it, expect } from 'vitest';
|
|
7
|
+
import { AmodalError, ProviderError, RateLimitError, ProviderTimeoutError, ToolExecutionError, StoreError, ConnectionError, SessionError, CompactionError, ConfigError, } from './errors.js';
|
|
8
|
+
describe('AmodalError', () => {
|
|
9
|
+
it('carries code, message, and context', () => {
|
|
10
|
+
const err = new AmodalError('TEST_CODE', 'something broke', { foo: 'bar' });
|
|
11
|
+
expect(err.code).toBe('TEST_CODE');
|
|
12
|
+
expect(err.message).toBe('something broke');
|
|
13
|
+
expect(err.context).toEqual({ foo: 'bar' });
|
|
14
|
+
expect(err.name).toBe('AmodalError');
|
|
15
|
+
expect(err).toBeInstanceOf(Error);
|
|
16
|
+
});
|
|
17
|
+
it('defaults context to empty object', () => {
|
|
18
|
+
const err = new AmodalError('X', 'msg');
|
|
19
|
+
expect(err.context).toEqual({});
|
|
20
|
+
});
|
|
21
|
+
it('preserves cause chain', () => {
|
|
22
|
+
const cause = new Error('root cause');
|
|
23
|
+
const err = new AmodalError('X', 'wrapped', {}, cause);
|
|
24
|
+
expect(err.cause).toBe(cause);
|
|
25
|
+
});
|
|
26
|
+
it('serializes to JSON with cause', () => {
|
|
27
|
+
const cause = new Error('root');
|
|
28
|
+
const err = new AmodalError('TEST', 'msg', { k: 1 }, cause);
|
|
29
|
+
const json = err.toJSON();
|
|
30
|
+
expect(json).toEqual({
|
|
31
|
+
name: 'AmodalError',
|
|
32
|
+
code: 'TEST',
|
|
33
|
+
message: 'msg',
|
|
34
|
+
context: { k: 1 },
|
|
35
|
+
cause: { name: 'Error', message: 'root' },
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
it('serializes to JSON without cause', () => {
|
|
39
|
+
const err = new AmodalError('TEST', 'msg');
|
|
40
|
+
const json = err.toJSON();
|
|
41
|
+
expect(json).not.toHaveProperty('cause');
|
|
42
|
+
});
|
|
43
|
+
it('serializes non-Error cause as string', () => {
|
|
44
|
+
const err = new AmodalError('TEST', 'msg', {}, 'string cause');
|
|
45
|
+
expect(err.toJSON()['cause']).toBe('string cause');
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
describe('ProviderError', () => {
|
|
49
|
+
it('has correct code and provider fields', () => {
|
|
50
|
+
const err = new ProviderError('API failed', { provider: 'anthropic', statusCode: 500 });
|
|
51
|
+
expect(err.code).toBe('PROVIDER_ERROR');
|
|
52
|
+
expect(err.provider).toBe('anthropic');
|
|
53
|
+
expect(err.statusCode).toBe(500);
|
|
54
|
+
expect(err.retryable).toBe(false);
|
|
55
|
+
expect(err.name).toBe('ProviderError');
|
|
56
|
+
expect(err).toBeInstanceOf(AmodalError);
|
|
57
|
+
expect(err.context['provider']).toBe('anthropic');
|
|
58
|
+
expect(err.context['statusCode']).toBe(500);
|
|
59
|
+
});
|
|
60
|
+
it('defaults retryable to false', () => {
|
|
61
|
+
const err = new ProviderError('fail', { provider: 'openai' });
|
|
62
|
+
expect(err.retryable).toBe(false);
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
describe('RateLimitError', () => {
|
|
66
|
+
it('is a retryable ProviderError with 429 status', () => {
|
|
67
|
+
const err = new RateLimitError('slow down', { provider: 'anthropic', retryAfterMs: 5000 });
|
|
68
|
+
expect(err.statusCode).toBe(429);
|
|
69
|
+
expect(err.retryable).toBe(true);
|
|
70
|
+
expect(err.retryAfterMs).toBe(5000);
|
|
71
|
+
expect(err.name).toBe('RateLimitError');
|
|
72
|
+
expect(err).toBeInstanceOf(ProviderError);
|
|
73
|
+
expect(err).toBeInstanceOf(AmodalError);
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
describe('ProviderTimeoutError', () => {
|
|
77
|
+
it('is a retryable ProviderError', () => {
|
|
78
|
+
const err = new ProviderTimeoutError('timed out', { provider: 'google' });
|
|
79
|
+
expect(err.retryable).toBe(true);
|
|
80
|
+
expect(err.name).toBe('ProviderTimeoutError');
|
|
81
|
+
expect(err).toBeInstanceOf(ProviderError);
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
describe('ToolExecutionError', () => {
|
|
85
|
+
it('carries tool name and call ID in context', () => {
|
|
86
|
+
const err = new ToolExecutionError('tool crashed', {
|
|
87
|
+
toolName: 'fetch_deals',
|
|
88
|
+
callId: 'call_123',
|
|
89
|
+
context: { args: { limit: 10 } },
|
|
90
|
+
});
|
|
91
|
+
expect(err.code).toBe('TOOL_EXECUTION_ERROR');
|
|
92
|
+
expect(err.toolName).toBe('fetch_deals');
|
|
93
|
+
expect(err.callId).toBe('call_123');
|
|
94
|
+
expect(err.context['toolName']).toBe('fetch_deals');
|
|
95
|
+
expect(err.context['args']).toEqual({ limit: 10 });
|
|
96
|
+
expect(err).toBeInstanceOf(AmodalError);
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
describe('StoreError', () => {
|
|
100
|
+
it('carries store name and operation', () => {
|
|
101
|
+
const cause = new Error('PGLite crash');
|
|
102
|
+
const err = new StoreError('write failed', {
|
|
103
|
+
store: 'alerts',
|
|
104
|
+
operation: 'put',
|
|
105
|
+
cause,
|
|
106
|
+
context: { key: 'alert-1' },
|
|
107
|
+
});
|
|
108
|
+
expect(err.code).toBe('STORE_ERROR');
|
|
109
|
+
expect(err.store).toBe('alerts');
|
|
110
|
+
expect(err.operation).toBe('put');
|
|
111
|
+
expect(err.context['key']).toBe('alert-1');
|
|
112
|
+
expect(err.cause).toBe(cause);
|
|
113
|
+
expect(err).toBeInstanceOf(AmodalError);
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
describe('ConnectionError', () => {
|
|
117
|
+
it('carries connection name and action', () => {
|
|
118
|
+
const err = new ConnectionError('auth failed', {
|
|
119
|
+
connection: 'typefully',
|
|
120
|
+
action: 'POST /social-sets',
|
|
121
|
+
});
|
|
122
|
+
expect(err.code).toBe('CONNECTION_ERROR');
|
|
123
|
+
expect(err.connection).toBe('typefully');
|
|
124
|
+
expect(err.action).toBe('POST /social-sets');
|
|
125
|
+
expect(err).toBeInstanceOf(AmodalError);
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
describe('SessionError', () => {
|
|
129
|
+
it('carries session ID', () => {
|
|
130
|
+
const err = new SessionError('session expired', {
|
|
131
|
+
sessionId: 'sess_abc',
|
|
132
|
+
context: { tenantId: 'tenant_1' },
|
|
133
|
+
});
|
|
134
|
+
expect(err.code).toBe('SESSION_ERROR');
|
|
135
|
+
expect(err.sessionId).toBe('sess_abc');
|
|
136
|
+
expect(err.context['tenantId']).toBe('tenant_1');
|
|
137
|
+
expect(err).toBeInstanceOf(AmodalError);
|
|
138
|
+
});
|
|
139
|
+
});
|
|
140
|
+
describe('CompactionError', () => {
|
|
141
|
+
it('carries stage', () => {
|
|
142
|
+
const err = new CompactionError('summarization failed', { stage: 'pre_summarize' });
|
|
143
|
+
expect(err.code).toBe('COMPACTION_ERROR');
|
|
144
|
+
expect(err.stage).toBe('pre_summarize');
|
|
145
|
+
expect(err).toBeInstanceOf(AmodalError);
|
|
146
|
+
});
|
|
147
|
+
});
|
|
148
|
+
describe('ConfigError', () => {
|
|
149
|
+
it('carries config key', () => {
|
|
150
|
+
const err = new ConfigError('missing API key', {
|
|
151
|
+
key: 'providers.primary.apiKey',
|
|
152
|
+
context: { checked: ['env:ANTHROPIC_API_KEY', 'amodal.json'] },
|
|
153
|
+
});
|
|
154
|
+
expect(err.code).toBe('CONFIG_ERROR');
|
|
155
|
+
expect(err.key).toBe('providers.primary.apiKey');
|
|
156
|
+
expect(err.context['checked']).toEqual(['env:ANTHROPIC_API_KEY', 'amodal.json']);
|
|
157
|
+
expect(err).toBeInstanceOf(AmodalError);
|
|
158
|
+
});
|
|
159
|
+
it('formats a multi-line error with key and suggestion', () => {
|
|
160
|
+
const err = new ConfigError('API key not found', {
|
|
161
|
+
key: 'models.main.provider',
|
|
162
|
+
suggestion: 'Set ANTHROPIC_API_KEY in your .env file.',
|
|
163
|
+
});
|
|
164
|
+
expect(err.format()).toBe('Config error: API key not found\n' +
|
|
165
|
+
' Key: models.main.provider\n' +
|
|
166
|
+
' Fix: Set ANTHROPIC_API_KEY in your .env file.');
|
|
167
|
+
});
|
|
168
|
+
it('formats without suggestion when omitted', () => {
|
|
169
|
+
const err = new ConfigError('bad value', { key: 'stores.backend' });
|
|
170
|
+
expect(err.suggestion).toBe('');
|
|
171
|
+
expect(err.format()).toBe('Config error: bad value\n Key: stores.backend');
|
|
172
|
+
});
|
|
173
|
+
});
|
|
174
|
+
describe('unique error codes', () => {
|
|
175
|
+
it('each subclass has a distinct code', () => {
|
|
176
|
+
const codes = [
|
|
177
|
+
new ProviderError('', { provider: '' }),
|
|
178
|
+
new ToolExecutionError('', { toolName: '', callId: '' }),
|
|
179
|
+
new StoreError('', { store: '', operation: '' }),
|
|
180
|
+
new ConnectionError('', { connection: '', action: '' }),
|
|
181
|
+
new SessionError('', { sessionId: '' }),
|
|
182
|
+
new CompactionError('', { stage: '' }),
|
|
183
|
+
new ConfigError('', { key: '' }),
|
|
184
|
+
].map(e => e.code);
|
|
185
|
+
expect(new Set(codes).size).toBe(codes.length);
|
|
186
|
+
});
|
|
187
|
+
});
|
|
188
|
+
describe('Result type', () => {
|
|
189
|
+
it('narrows on ok check', () => {
|
|
190
|
+
const success = { ok: true, value: 42 };
|
|
191
|
+
const failure = {
|
|
192
|
+
ok: false,
|
|
193
|
+
error: new StoreError('not found', { store: 'alerts', operation: 'get' }),
|
|
194
|
+
};
|
|
195
|
+
if (success.ok) {
|
|
196
|
+
expect(success.value).toBe(42);
|
|
197
|
+
}
|
|
198
|
+
if (!failure.ok) {
|
|
199
|
+
expect(failure.error.store).toBe('alerts');
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
});
|
|
203
|
+
//# sourceMappingURL=errors.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.test.js","sourceRoot":"","sources":["../../src/errors.test.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -23,5 +23,12 @@ export type { TaskRouterOptions } from './agent/routes/task.js';
|
|
|
23
23
|
export { getAuthContext } from './middleware/auth.js';
|
|
24
24
|
export type { AuthContext } from './middleware/auth.js';
|
|
25
25
|
export type { StreamHooks } from './session/session-runner.js';
|
|
26
|
+
export { runMessage } from './session/session-runner.js';
|
|
27
|
+
export { routeOutput } from './output/output-router.js';
|
|
26
28
|
export { errorHandler } from './middleware/error-handler.js';
|
|
27
|
-
export {
|
|
29
|
+
export { AmodalError, ProviderError, RateLimitError, ProviderTimeoutError, ToolExecutionError, StoreError, ConnectionError, SessionError, CompactionError, ConfigError, } from './errors.js';
|
|
30
|
+
export type { Result } from './errors.js';
|
|
31
|
+
export { log, setLogLevel, getLogLevel, setLogFormat, getLogFormat, setSanitize, LogLevel, initLogLevel, interceptConsole, verbosityToLogLevel, createLogger } from './logger.js';
|
|
32
|
+
export type { Logger, LoggerConfig, LogFormat } from './logger.js';
|
|
33
|
+
export { loadConfig } from './config.js';
|
|
34
|
+
export type { AgentConfig, ConfigOverrides, LoadConfigOptions, McpServerConfig } from './config.js';
|
package/dist/src/index.js
CHANGED
|
@@ -20,10 +20,17 @@ export { createChatStreamRouter } from './routes/chat-stream.js';
|
|
|
20
20
|
export { createTaskRouter } from './agent/routes/task.js';
|
|
21
21
|
// Auth types (middleware implementation provided by hosting layer)
|
|
22
22
|
export { getAuthContext } from './middleware/auth.js';
|
|
23
|
+
export { runMessage } from './session/session-runner.js';
|
|
24
|
+
// Output routing (for automation result delivery)
|
|
25
|
+
export { routeOutput } from './output/output-router.js';
|
|
23
26
|
// Error handler
|
|
24
27
|
export { errorHandler } from './middleware/error-handler.js';
|
|
28
|
+
// Typed error classes
|
|
29
|
+
export { AmodalError, ProviderError, RateLimitError, ProviderTimeoutError, ToolExecutionError, StoreError, ConnectionError, SessionError, CompactionError, ConfigError, } from './errors.js';
|
|
25
30
|
// Logger
|
|
26
|
-
export { log, setLogLevel, getLogLevel, LogLevel } from './logger.js';
|
|
31
|
+
export { log, setLogLevel, getLogLevel, setLogFormat, getLogFormat, setSanitize, LogLevel, initLogLevel, interceptConsole, verbosityToLogLevel, createLogger } from './logger.js';
|
|
32
|
+
// Config
|
|
33
|
+
export { loadConfig } from './config.js';
|
|
27
34
|
// ---------------------------------------------------------------------------
|
|
28
35
|
// Environment variable parsing
|
|
29
36
|
// ---------------------------------------------------------------------------
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,YAAY,EAAuB,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC;AAEtC,0BAA0B;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,EAAE,oBAAoB,EAA8B,MAAM,uBAAuB,CAAC;AAEzF,aAAa;AACb,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAGxE,gBAAgB;AAChB,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAGlE,kEAAkE;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D,mEAAmE;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/logger.d.ts
CHANGED
|
@@ -4,34 +4,38 @@
|
|
|
4
4
|
* SPDX-License-Identifier: MIT
|
|
5
5
|
*/
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
7
|
+
* Runtime logger — wraps the core logger and adds runtime-specific
|
|
8
|
+
* utilities (CLI flag parsing, console interception).
|
|
8
9
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
10
|
+
* The Logger interface and core implementation live in @amodalai/core.
|
|
11
|
+
* This module re-exports them and adds runtime-only functions.
|
|
12
|
+
*/
|
|
13
|
+
import { createLogger as coreCreateLogger, setLogLevel as coreSetLogLevel, getLogLevel as coreGetLogLevel, setLogFormat as coreSetLogFormat, getLogFormat as coreGetLogFormat, setSanitize as coreSetSanitize, LogLevel } from '@amodalai/core';
|
|
14
|
+
import type { Logger, LoggerConfig, LogFormat } from '@amodalai/core';
|
|
15
|
+
export { LogLevel };
|
|
16
|
+
export type { Logger, LoggerConfig, LogFormat };
|
|
17
|
+
export declare const log: Logger;
|
|
18
|
+
export declare const createLogger: typeof coreCreateLogger;
|
|
19
|
+
export declare const setLogLevel: typeof coreSetLogLevel;
|
|
20
|
+
export declare const getLogLevel: typeof coreGetLogLevel;
|
|
21
|
+
export declare const setLogFormat: typeof coreSetLogFormat;
|
|
22
|
+
export declare const getLogFormat: typeof coreGetLogFormat;
|
|
23
|
+
export declare const setSanitize: typeof coreSetSanitize;
|
|
24
|
+
/**
|
|
25
|
+
* Convert -v count and --quiet flag to a LogLevel.
|
|
26
|
+
* --quiet → ERROR, default → INFO, -v → DEBUG, -vv → TRACE
|
|
27
|
+
*/
|
|
28
|
+
export declare function verbosityToLogLevel(verbosity: number, quiet: boolean): LogLevel;
|
|
29
|
+
/**
|
|
30
|
+
* Initialize logger from CLI flags. Env var LOG_LEVEL takes precedence.
|
|
31
|
+
* Call once at startup before any logging.
|
|
32
|
+
*/
|
|
33
|
+
export declare function initLogLevel(opts: {
|
|
34
|
+
verbosity?: number;
|
|
35
|
+
quiet?: boolean;
|
|
36
|
+
}): void;
|
|
37
|
+
/**
|
|
38
|
+
* Intercept console.* to route upstream library output (e.g. @google/gemini-cli-core)
|
|
39
|
+
* through our log levels. Call once at startup.
|
|
18
40
|
*/
|
|
19
|
-
export declare
|
|
20
|
-
DEBUG = 0,
|
|
21
|
-
INFO = 1,
|
|
22
|
-
WARN = 2,
|
|
23
|
-
ERROR = 3,
|
|
24
|
-
FATAL = 4,
|
|
25
|
-
NONE = 5
|
|
26
|
-
}
|
|
27
|
-
/** Update the runtime log level programmatically. */
|
|
28
|
-
export declare function setLogLevel(level: LogLevel): void;
|
|
29
|
-
/** Get the current log level. */
|
|
30
|
-
export declare function getLogLevel(): LogLevel;
|
|
31
|
-
export declare const log: {
|
|
32
|
-
debug: (message: string, tag?: string) => void;
|
|
33
|
-
info: (message: string, tag?: string) => void;
|
|
34
|
-
warn: (message: string, tag?: string) => void;
|
|
35
|
-
error: (message: string, tag?: string) => void;
|
|
36
|
-
fatal: (message: string, tag?: string) => void;
|
|
37
|
-
};
|
|
41
|
+
export declare function interceptConsole(): void;
|
package/dist/src/logger.js
CHANGED
|
@@ -4,74 +4,79 @@
|
|
|
4
4
|
* SPDX-License-Identifier: MIT
|
|
5
5
|
*/
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
7
|
+
* Runtime logger — wraps the core logger and adds runtime-specific
|
|
8
|
+
* utilities (CLI flag parsing, console interception).
|
|
8
9
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* Default: "info".
|
|
12
|
-
*
|
|
13
|
-
* Usage:
|
|
14
|
-
* import { log } from './logger.js';
|
|
15
|
-
* log.info('Server started', 'server'); // [INFO] [server] Server started
|
|
16
|
-
* log.debug('Details here', 'session'); // only printed when LOG_LEVEL=debug
|
|
17
|
-
* log.error('Something broke'); // [ERROR] Something broke
|
|
10
|
+
* The Logger interface and core implementation live in @amodalai/core.
|
|
11
|
+
* This module re-exports them and adds runtime-only functions.
|
|
18
12
|
*/
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
return LogLevel.INFO;
|
|
42
|
-
case 'warn':
|
|
43
|
-
return LogLevel.WARN;
|
|
44
|
-
case 'error':
|
|
45
|
-
return LogLevel.ERROR;
|
|
46
|
-
case 'fatal':
|
|
47
|
-
return LogLevel.FATAL;
|
|
48
|
-
case 'none':
|
|
49
|
-
return LogLevel.NONE;
|
|
50
|
-
default:
|
|
51
|
-
return LogLevel.INFO;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
let currentLevel = parseLogLevel(process.env['LOG_LEVEL']);
|
|
55
|
-
/** Update the runtime log level programmatically. */
|
|
56
|
-
export function setLogLevel(level) {
|
|
57
|
-
currentLevel = level;
|
|
58
|
-
}
|
|
59
|
-
/** Get the current log level. */
|
|
60
|
-
export function getLogLevel() {
|
|
61
|
-
return currentLevel;
|
|
13
|
+
import { log as coreLog, createLogger as coreCreateLogger, setLogLevel as coreSetLogLevel, getLogLevel as coreGetLogLevel, setLogFormat as coreSetLogFormat, getLogFormat as coreGetLogFormat, setSanitize as coreSetSanitize, LogLevel, } from '@amodalai/core';
|
|
14
|
+
// Re-export core logger API
|
|
15
|
+
export { LogLevel };
|
|
16
|
+
export const log = coreLog;
|
|
17
|
+
export const createLogger = coreCreateLogger;
|
|
18
|
+
export const setLogLevel = coreSetLogLevel;
|
|
19
|
+
export const getLogLevel = coreGetLogLevel;
|
|
20
|
+
export const setLogFormat = coreSetLogFormat;
|
|
21
|
+
export const getLogFormat = coreGetLogFormat;
|
|
22
|
+
export const setSanitize = coreSetSanitize;
|
|
23
|
+
/**
|
|
24
|
+
* Convert -v count and --quiet flag to a LogLevel.
|
|
25
|
+
* --quiet → ERROR, default → INFO, -v → DEBUG, -vv → TRACE
|
|
26
|
+
*/
|
|
27
|
+
export function verbosityToLogLevel(verbosity, quiet) {
|
|
28
|
+
if (quiet)
|
|
29
|
+
return LogLevel.ERROR;
|
|
30
|
+
if (verbosity >= 2)
|
|
31
|
+
return LogLevel.TRACE;
|
|
32
|
+
if (verbosity >= 1)
|
|
33
|
+
return LogLevel.DEBUG;
|
|
34
|
+
return LogLevel.INFO;
|
|
62
35
|
}
|
|
63
|
-
|
|
64
|
-
|
|
36
|
+
/**
|
|
37
|
+
* Initialize logger from CLI flags. Env var LOG_LEVEL takes precedence.
|
|
38
|
+
* Call once at startup before any logging.
|
|
39
|
+
*/
|
|
40
|
+
export function initLogLevel(opts) {
|
|
41
|
+
if (process.env['LOG_LEVEL']) {
|
|
42
|
+
// Env var already handled by the module-level initializer in core
|
|
65
43
|
return;
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
44
|
+
}
|
|
45
|
+
setLogLevel(verbosityToLogLevel(opts.verbosity ?? 0, opts.quiet ?? false));
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Intercept console.* to route upstream library output (e.g. @google/gemini-cli-core)
|
|
49
|
+
* through our log levels. Call once at startup.
|
|
50
|
+
*/
|
|
51
|
+
/* eslint-disable no-console */
|
|
52
|
+
export function interceptConsole() {
|
|
53
|
+
const origLog = console.log;
|
|
54
|
+
const origWarn = console.warn;
|
|
55
|
+
const origError = console.error;
|
|
56
|
+
const origDebug = console.debug;
|
|
57
|
+
console.log = (...args) => {
|
|
58
|
+
if (getLogLevel() <= LogLevel.TRACE) {
|
|
59
|
+
origLog.apply(console, args);
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
console.debug = (...args) => {
|
|
63
|
+
if (getLogLevel() <= LogLevel.TRACE) {
|
|
64
|
+
origDebug.apply(console, args);
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
console.warn = (...args) => {
|
|
68
|
+
if (getLogLevel() <= LogLevel.DEBUG) {
|
|
69
|
+
origWarn.apply(console, args);
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
console.error = (...args) => {
|
|
73
|
+
if (getLogLevel() <= LogLevel.WARN) {
|
|
74
|
+
// Suppress known noisy upstream messages
|
|
75
|
+
if (typeof args[0] === 'string' && args[0].includes('Current logger will'))
|
|
76
|
+
return;
|
|
77
|
+
origError.apply(console, args);
|
|
78
|
+
}
|
|
79
|
+
};
|
|
69
80
|
}
|
|
70
|
-
|
|
71
|
-
debug: (message, tag) => write(LogLevel.DEBUG, message, tag),
|
|
72
|
-
info: (message, tag) => write(LogLevel.INFO, message, tag),
|
|
73
|
-
warn: (message, tag) => write(LogLevel.WARN, message, tag),
|
|
74
|
-
error: (message, tag) => write(LogLevel.ERROR, message, tag),
|
|
75
|
-
fatal: (message, tag) => write(LogLevel.FATAL, message, tag),
|
|
76
|
-
};
|
|
81
|
+
/* eslint-enable no-console */
|
|
77
82
|
//# sourceMappingURL=logger.js.map
|
package/dist/src/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":"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"}
|