@kaitranntt/ccs 7.75.0-dev.9 → 7.76.0-dev.1
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/auth/profile-registry.d.ts.map +1 -1
- package/dist/auth/profile-registry.js +9 -0
- package/dist/auth/profile-registry.js.map +1 -1
- package/dist/ccs.js +77 -9
- package/dist/ccs.js.map +1 -1
- package/dist/cliproxy/auth/oauth-handler.d.ts.map +1 -1
- package/dist/cliproxy/auth/oauth-handler.js +20 -0
- package/dist/cliproxy/auth/oauth-handler.js.map +1 -1
- package/dist/cliproxy/binary/platform-detector.d.ts +4 -4
- package/dist/cliproxy/binary/platform-detector.d.ts.map +1 -1
- package/dist/cliproxy/binary/platform-detector.js +2 -2
- package/dist/cliproxy/binary/platform-detector.js.map +1 -1
- package/dist/cliproxy/quota/quota-fetcher.d.ts.map +1 -1
- package/dist/cliproxy/quota/quota-fetcher.js +28 -9
- package/dist/cliproxy/quota/quota-fetcher.js.map +1 -1
- package/dist/commands/command-catalog.d.ts.map +1 -1
- package/dist/commands/command-catalog.js +4 -0
- package/dist/commands/command-catalog.js.map +1 -1
- package/dist/commands/doctor-command.d.ts.map +1 -1
- package/dist/commands/doctor-command.js +9 -0
- package/dist/commands/doctor-command.js.map +1 -1
- package/dist/copilot/copilot-auth.d.ts.map +1 -1
- package/dist/copilot/copilot-auth.js +22 -0
- package/dist/copilot/copilot-auth.js.map +1 -1
- package/dist/copilot/copilot-daemon.d.ts.map +1 -1
- package/dist/copilot/copilot-daemon.js +26 -0
- package/dist/copilot/copilot-daemon.js.map +1 -1
- package/dist/copilot/copilot-executor.d.ts.map +1 -1
- package/dist/copilot/copilot-executor.js +22 -0
- package/dist/copilot/copilot-executor.js.map +1 -1
- package/dist/cursor/cursor-daemon.d.ts.map +1 -1
- package/dist/cursor/cursor-daemon.js +28 -1
- package/dist/cursor/cursor-daemon.js.map +1 -1
- package/dist/cursor/cursor-executor.d.ts.map +1 -1
- package/dist/cursor/cursor-executor.js +17 -1
- package/dist/cursor/cursor-executor.js.map +1 -1
- package/dist/delegation/delegation-handler.d.ts.map +1 -1
- package/dist/delegation/delegation-handler.js +4 -1
- package/dist/delegation/delegation-handler.js.map +1 -1
- package/dist/glmt/glmt-proxy.d.ts.map +1 -1
- package/dist/glmt/glmt-proxy.js +7 -0
- package/dist/glmt/glmt-proxy.js.map +1 -1
- package/dist/glmt/glmt-transformer.d.ts.map +1 -1
- package/dist/glmt/glmt-transformer.js +1 -3
- package/dist/glmt/glmt-transformer.js.map +1 -1
- package/dist/management/instance-manager.d.ts.map +1 -1
- package/dist/management/instance-manager.js +9 -0
- package/dist/management/instance-manager.js.map +1 -1
- package/dist/proxy/server/messages-route.d.ts.map +1 -1
- package/dist/proxy/server/messages-route.js +27 -7
- package/dist/proxy/server/messages-route.js.map +1 -1
- package/dist/proxy/server/proxy-server.d.ts.map +1 -1
- package/dist/proxy/server/proxy-server.js +24 -6
- package/dist/proxy/server/proxy-server.js.map +1 -1
- package/dist/services/logging/index.d.ts +6 -1
- package/dist/services/logging/index.d.ts.map +1 -1
- package/dist/services/logging/index.js +16 -1
- package/dist/services/logging/index.js.map +1 -1
- package/dist/services/logging/log-context.d.ts +41 -0
- package/dist/services/logging/log-context.d.ts.map +1 -0
- package/dist/services/logging/log-context.js +51 -0
- package/dist/services/logging/log-context.js.map +1 -0
- package/dist/services/logging/log-redaction.d.ts +8 -0
- package/dist/services/logging/log-redaction.d.ts.map +1 -1
- package/dist/services/logging/log-redaction.js +40 -3
- package/dist/services/logging/log-redaction.js.map +1 -1
- package/dist/services/logging/log-types.d.ts +30 -0
- package/dist/services/logging/log-types.d.ts.map +1 -1
- package/dist/services/logging/log-types.js +15 -1
- package/dist/services/logging/log-types.js.map +1 -1
- package/dist/services/logging/logger.d.ts +17 -0
- package/dist/services/logging/logger.d.ts.map +1 -1
- package/dist/services/logging/logger.js +23 -4
- package/dist/services/logging/logger.js.map +1 -1
- package/dist/targets/claude-adapter.d.ts.map +1 -1
- package/dist/targets/claude-adapter.js +11 -0
- package/dist/targets/claude-adapter.js.map +1 -1
- package/dist/targets/codex-adapter.d.ts.map +1 -1
- package/dist/targets/codex-adapter.js +11 -0
- package/dist/targets/codex-adapter.js.map +1 -1
- package/dist/targets/droid-adapter.d.ts.map +1 -1
- package/dist/targets/droid-adapter.js +11 -0
- package/dist/targets/droid-adapter.js.map +1 -1
- package/dist/ui/assets/{accounts-C11yNnFn.js → accounts-CybVGDsm.js} +1 -1
- package/dist/ui/assets/{alert-dialog-BDhZ9T12.js → alert-dialog-C6npAhT0.js} +1 -1
- package/dist/ui/assets/{api-DXFMasvG.js → api-DZosWVkR.js} +1 -1
- package/dist/ui/assets/{auth-section-BQpO_21y.js → auth-section-D4MZkgcP.js} +1 -1
- package/dist/ui/assets/{backups-section-BM2lP-ap.js → backups-section-DvMJrmHH.js} +1 -1
- package/dist/ui/assets/{channels-qstH8YTZ.js → channels-BVftYfOn.js} +1 -1
- package/dist/ui/assets/{charts-BBPXh0Ar.js → charts-CeK2xCSo.js} +1 -1
- package/dist/ui/assets/{checkbox-BPx7K8To.js → checkbox-BLRznRTO.js} +1 -1
- package/dist/ui/assets/{claude-extension-BD6uQlc-.js → claude-extension-C6OeBQ73.js} +1 -1
- package/dist/ui/assets/cliproxy-B3Jyu3r9.js +3 -0
- package/dist/ui/assets/{cliproxy-ai-providers-BNffQh5X.js → cliproxy-ai-providers-BAJ78pUc.js} +1 -1
- package/dist/ui/assets/{cliproxy-control-panel-CjExrU2o.js → cliproxy-control-panel-XEvUMVJe.js} +1 -1
- package/dist/ui/assets/{code-highlight-BRUf_pqB.js → code-highlight-D4E79GKQ.js} +1 -1
- package/dist/ui/assets/{codex-Dd2XIT8b.js → codex-CY2vikqX.js} +1 -1
- package/dist/ui/assets/{confirm-dialog-BZP3xwZi.js → confirm-dialog-DjLHh1qX.js} +1 -1
- package/dist/ui/assets/{copilot-gf-rTcY8.js → copilot-afee2lL9.js} +1 -1
- package/dist/ui/assets/{cursor-CJGCGy-H.js → cursor-DuWy60wp.js} +1 -1
- package/dist/ui/assets/{droid-D1Wq6rRO.js → droid-FlceoQ6k.js} +1 -1
- package/dist/ui/assets/{form-utils-Bcoyqxpq.js → form-utils-CuHzLhJZ.js} +1 -1
- package/dist/ui/assets/{globalenv-section-DBqYbsuu.js → globalenv-section-DpJ7unxC.js} +1 -1
- package/dist/ui/assets/{health-DW8M92nq.js → health-BEMgcKD3.js} +1 -1
- package/dist/ui/assets/icons-DQFHtVq5.js +1 -0
- package/dist/ui/assets/{index-JIaHpwil.js → index-0GkznW41.js} +1 -1
- package/dist/ui/assets/{index-B0dun58L.js → index-0n_43sCZ.js} +1 -1
- package/dist/ui/assets/index-6xrth3Oz.css +1 -0
- package/dist/ui/assets/{index-ubH9RpKo.js → index-BRtgic66.js} +3 -3
- package/dist/ui/assets/{index-BczU222d.js → index-Ba4ysocb.js} +1 -1
- package/dist/ui/assets/{index-CoeauyY0.js → index-Cj7EjEq6.js} +1 -1
- package/dist/ui/assets/{index-IiaQMFco.js → index-Cq9VySs6.js} +1 -1
- package/dist/ui/assets/{index-B5cw5Mhf.js → index-DOC7_hun.js} +1 -1
- package/dist/ui/assets/logs-Dth4naJl.js +1 -0
- package/dist/ui/assets/{masked-input-Bmo6mlTB.js → masked-input-DL6pJ8pE.js} +1 -1
- package/dist/ui/assets/{notifications-B2HqRBj7.js → notifications-B4_o8bcr.js} +1 -1
- package/dist/ui/assets/{proxy-g4_N-fbB.js → proxy-C4-M_9kB.js} +1 -1
- package/dist/ui/assets/{proxy-status-widget-EX_Raok7.js → proxy-status-widget-DW4cPFeD.js} +1 -1
- package/dist/ui/assets/{radix-ui-Zb8sVEtn.js → radix-ui-nu4wz29m.js} +1 -1
- package/dist/ui/assets/{raw-json-settings-editor-panel-C4DFuY4g.js → raw-json-settings-editor-panel-Dcumu3Qi.js} +1 -1
- package/dist/ui/assets/{react-vendor-CNOkPC89.js → react-vendor-Bjx91N7w.js} +1 -1
- package/dist/ui/assets/{searchable-select-CLhlrHkQ.js → searchable-select-CWL2D5Ft.js} +1 -1
- package/dist/ui/assets/{separator-BEJQ4e4O.js → separator-Do_vqTQD.js} +1 -1
- package/dist/ui/assets/{shared-4QlIu64T.js → shared-CwWuZx24.js} +1 -1
- package/dist/ui/assets/{table-B6xzmyfm.js → table-BP6nBZzg.js} +1 -1
- package/dist/ui/assets/{tanstack-CrmUhA7Z.js → tanstack-bhJxV1h8.js} +1 -1
- package/dist/ui/assets/{updates-DBkXWRpR.js → updates-BTHJZ7Rk.js} +1 -1
- package/dist/ui/index.html +9 -9
- package/package.json +1 -1
- package/scripts/run-test-bucket.js +2 -0
- package/dist/ui/assets/cliproxy-5-BIu9Wb.js +0 -3
- package/dist/ui/assets/icons-DyorC3Xk.js +0 -1
- package/dist/ui/assets/index-Bbiq6Xkt.css +0 -1
- package/dist/ui/assets/logs-DbWcj2t5.js +0 -1
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-request context carried via Node.js {@link AsyncLocalStorage}.
|
|
3
|
+
*
|
|
4
|
+
* MUST contain only non-sensitive correlation metadata. NEVER store tokens,
|
|
5
|
+
* secrets, raw bodies, or other sensitive material in this object — values
|
|
6
|
+
* leak into every downstream log entry emitted within the context.
|
|
7
|
+
*/
|
|
8
|
+
export interface RequestContext {
|
|
9
|
+
/** UUID-shaped correlation id; round-trips via `x-ccs-request-id` header. */
|
|
10
|
+
requestId: string;
|
|
11
|
+
/** Optional benign request metadata (method, path, command name, etc.). */
|
|
12
|
+
[key: string]: unknown;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Run `fn` inside a fresh request context. Use ONLY at request entry edges
|
|
16
|
+
* (HTTP handlers, CLI command dispatch, daemon inbound boundaries).
|
|
17
|
+
*
|
|
18
|
+
* Never call from shared/reused infrastructure — that would leak the requestId
|
|
19
|
+
* to unrelated callers. Listeners that need to inherit context MUST be
|
|
20
|
+
* registered inside the `als.run()` callback.
|
|
21
|
+
*/
|
|
22
|
+
export declare function withRequestContext<T>(ctx: RequestContext, fn: () => T): T;
|
|
23
|
+
/**
|
|
24
|
+
* Convenience wrapper that mints a fresh UUID requestId and runs `fn` under it.
|
|
25
|
+
* Returns the requestId so callers can echo it back via response headers.
|
|
26
|
+
*/
|
|
27
|
+
export declare function runWithRequestId<T>(fn: () => T): {
|
|
28
|
+
requestId: string;
|
|
29
|
+
result: T;
|
|
30
|
+
};
|
|
31
|
+
/** Read the active request context, or `undefined` if not inside one. */
|
|
32
|
+
export declare function getRequestContext(): RequestContext | undefined;
|
|
33
|
+
/** Read just the active requestId, or `undefined` if not inside a context. */
|
|
34
|
+
export declare function getRequestId(): string | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* Merge any active request context into the supplied context object,
|
|
37
|
+
* preferring explicit keys on the input. Existing `requestId` on `extra` wins
|
|
38
|
+
* (callers may explicitly override; e.g., for cross-daemon correlation).
|
|
39
|
+
*/
|
|
40
|
+
export declare function mergeRequestContext<T extends Record<string, unknown>>(extra: T): T;
|
|
41
|
+
//# sourceMappingURL=log-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log-context.d.ts","sourceRoot":"","sources":["../../../src/services/logging/log-context.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,6EAA6E;IAC7E,SAAS,EAAE,MAAM,CAAC;IAClB,2EAA2E;IAC3E,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAID;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAEzE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,CAAC,CAAA;CAAE,CAIjF;AAED,yEAAyE;AACzE,wBAAgB,iBAAiB,IAAI,cAAc,GAAG,SAAS,CAE9D;AAED,8EAA8E;AAC9E,wBAAgB,YAAY,IAAI,MAAM,GAAG,SAAS,CAEjD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAIlF"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mergeRequestContext = exports.getRequestId = exports.getRequestContext = exports.runWithRequestId = exports.withRequestContext = void 0;
|
|
4
|
+
const async_hooks_1 = require("async_hooks");
|
|
5
|
+
const crypto_1 = require("crypto");
|
|
6
|
+
const storage = new async_hooks_1.AsyncLocalStorage();
|
|
7
|
+
/**
|
|
8
|
+
* Run `fn` inside a fresh request context. Use ONLY at request entry edges
|
|
9
|
+
* (HTTP handlers, CLI command dispatch, daemon inbound boundaries).
|
|
10
|
+
*
|
|
11
|
+
* Never call from shared/reused infrastructure — that would leak the requestId
|
|
12
|
+
* to unrelated callers. Listeners that need to inherit context MUST be
|
|
13
|
+
* registered inside the `als.run()` callback.
|
|
14
|
+
*/
|
|
15
|
+
function withRequestContext(ctx, fn) {
|
|
16
|
+
return storage.run(ctx, fn);
|
|
17
|
+
}
|
|
18
|
+
exports.withRequestContext = withRequestContext;
|
|
19
|
+
/**
|
|
20
|
+
* Convenience wrapper that mints a fresh UUID requestId and runs `fn` under it.
|
|
21
|
+
* Returns the requestId so callers can echo it back via response headers.
|
|
22
|
+
*/
|
|
23
|
+
function runWithRequestId(fn) {
|
|
24
|
+
const requestId = (0, crypto_1.randomUUID)();
|
|
25
|
+
const result = withRequestContext({ requestId }, fn);
|
|
26
|
+
return { requestId, result };
|
|
27
|
+
}
|
|
28
|
+
exports.runWithRequestId = runWithRequestId;
|
|
29
|
+
/** Read the active request context, or `undefined` if not inside one. */
|
|
30
|
+
function getRequestContext() {
|
|
31
|
+
return storage.getStore();
|
|
32
|
+
}
|
|
33
|
+
exports.getRequestContext = getRequestContext;
|
|
34
|
+
/** Read just the active requestId, or `undefined` if not inside a context. */
|
|
35
|
+
function getRequestId() {
|
|
36
|
+
return storage.getStore()?.requestId;
|
|
37
|
+
}
|
|
38
|
+
exports.getRequestId = getRequestId;
|
|
39
|
+
/**
|
|
40
|
+
* Merge any active request context into the supplied context object,
|
|
41
|
+
* preferring explicit keys on the input. Existing `requestId` on `extra` wins
|
|
42
|
+
* (callers may explicitly override; e.g., for cross-daemon correlation).
|
|
43
|
+
*/
|
|
44
|
+
function mergeRequestContext(extra) {
|
|
45
|
+
const ctx = storage.getStore();
|
|
46
|
+
if (!ctx)
|
|
47
|
+
return extra;
|
|
48
|
+
return { ...ctx, ...extra };
|
|
49
|
+
}
|
|
50
|
+
exports.mergeRequestContext = mergeRequestContext;
|
|
51
|
+
//# sourceMappingURL=log-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log-context.js","sourceRoot":"","sources":["../../../src/services/logging/log-context.ts"],"names":[],"mappings":";;;AAAA,6CAAgD;AAChD,mCAAoC;AAgBpC,MAAM,OAAO,GAAG,IAAI,+BAAiB,EAAkB,CAAC;AAExD;;;;;;;GAOG;AACH,SAAgB,kBAAkB,CAAI,GAAmB,EAAE,EAAW;IACpE,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AAC9B,CAAC;AAFD,gDAEC;AAED;;;GAGG;AACH,SAAgB,gBAAgB,CAAI,EAAW;IAC7C,MAAM,SAAS,GAAG,IAAA,mBAAU,GAAE,CAAC;IAC/B,MAAM,MAAM,GAAG,kBAAkB,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;IACrD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;AAC/B,CAAC;AAJD,4CAIC;AAED,yEAAyE;AACzE,SAAgB,iBAAiB;IAC/B,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC;AAC5B,CAAC;AAFD,8CAEC;AAED,8EAA8E;AAC9E,SAAgB,YAAY;IAC1B,OAAO,OAAO,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC;AACvC,CAAC;AAFD,oCAEC;AAED;;;;GAIG;AACH,SAAgB,mBAAmB,CAAoC,KAAQ;IAC7E,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAC/B,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IACvB,OAAO,EAAE,GAAG,GAAG,EAAE,GAAG,KAAK,EAAO,CAAC;AACnC,CAAC;AAJD,kDAIC"}
|
|
@@ -1,2 +1,10 @@
|
|
|
1
1
|
export declare function redactContext(context: Record<string, unknown> | undefined): Record<string, unknown>;
|
|
2
|
+
/**
|
|
3
|
+
* Redact sensitive values from a CLI argv array (e.g. for spawn-arg logging).
|
|
4
|
+
*
|
|
5
|
+
* Pairs every sensitive flag (`--token`, `--api-key`, etc.) with its following
|
|
6
|
+
* argument and replaces that argument with `[redacted]`. Non-sensitive args
|
|
7
|
+
* pass through unchanged.
|
|
8
|
+
*/
|
|
9
|
+
export declare function redactArgv(argv: readonly string[]): string[];
|
|
2
10
|
//# sourceMappingURL=log-redaction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log-redaction.d.ts","sourceRoot":"","sources":["../../../src/services/logging/log-redaction.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"log-redaction.d.ts","sourceRoot":"","sources":["../../../src/services/logging/log-redaction.ts"],"names":[],"mappings":"AA0EA,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAC3C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAMzB;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAW5D"}
|
|
@@ -1,7 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.redactContext = void 0;
|
|
4
|
-
|
|
3
|
+
exports.redactArgv = exports.redactContext = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Sensitive log key matcher (single source of truth).
|
|
6
|
+
*
|
|
7
|
+
* Add new patterns conservatively. Numeric/boolean values are passed through
|
|
8
|
+
* even when their key matches (e.g., `expires_at` epoch numbers stay readable);
|
|
9
|
+
* only string and object values are redacted.
|
|
10
|
+
*/
|
|
11
|
+
const SENSITIVE_KEY_PATTERN = /^(authorization|proxy[_-]?authorization|cookie|set-cookie|password|password_hash|secret|client[_-]?secret|token|auth[_-]?token|access[_-]?token|refresh[_-]?token|id[_-]?token|bearer|assertion|api[_-]?key|x[_-]?api[_-]?key|x[_-]?goog[_-]?api[_-]?key|management[_-]?key|copilot[_-]?token|cursor[_-]?session[_-]?key|oauth[_-]?code|auth[_-]?code)$/i;
|
|
12
|
+
/** CLI flags whose following argument should be redacted in argv arrays. */
|
|
13
|
+
const SENSITIVE_ARGV_FLAG_PATTERN = /^--(token|api[_-]?key|auth|auth[_-]?token|secret|bearer|password|client[_-]?secret|refresh[_-]?token|access[_-]?token|id[_-]?token)$/i;
|
|
14
|
+
/** Bearer/Basic/Token auth-scheme prefix in raw string values. */
|
|
15
|
+
const AUTH_SCHEME_VALUE_PATTERN = /^(Bearer|Basic|Token)\s+\S+/;
|
|
5
16
|
const MAX_STRING_LENGTH = 2000;
|
|
6
17
|
const MAX_DEPTH = 5;
|
|
7
18
|
function truncateString(value) {
|
|
@@ -10,6 +21,12 @@ function truncateString(value) {
|
|
|
10
21
|
}
|
|
11
22
|
return `${value.slice(0, MAX_STRING_LENGTH)}...[truncated]`;
|
|
12
23
|
}
|
|
24
|
+
function maskAuthSchemeValue(value) {
|
|
25
|
+
const match = AUTH_SCHEME_VALUE_PATTERN.exec(value);
|
|
26
|
+
if (!match)
|
|
27
|
+
return value;
|
|
28
|
+
return `${match[1]} [redacted]`;
|
|
29
|
+
}
|
|
13
30
|
function sanitizeValue(value, depth) {
|
|
14
31
|
if (value === null || value === undefined) {
|
|
15
32
|
return value;
|
|
@@ -18,7 +35,7 @@ function sanitizeValue(value, depth) {
|
|
|
18
35
|
return '[max-depth]';
|
|
19
36
|
}
|
|
20
37
|
if (typeof value === 'string') {
|
|
21
|
-
return truncateString(value);
|
|
38
|
+
return truncateString(maskAuthSchemeValue(value));
|
|
22
39
|
}
|
|
23
40
|
if (typeof value === 'number' || typeof value === 'boolean') {
|
|
24
41
|
return value;
|
|
@@ -50,4 +67,24 @@ function redactContext(context) {
|
|
|
50
67
|
return sanitizeValue(context, 0);
|
|
51
68
|
}
|
|
52
69
|
exports.redactContext = redactContext;
|
|
70
|
+
/**
|
|
71
|
+
* Redact sensitive values from a CLI argv array (e.g. for spawn-arg logging).
|
|
72
|
+
*
|
|
73
|
+
* Pairs every sensitive flag (`--token`, `--api-key`, etc.) with its following
|
|
74
|
+
* argument and replaces that argument with `[redacted]`. Non-sensitive args
|
|
75
|
+
* pass through unchanged.
|
|
76
|
+
*/
|
|
77
|
+
function redactArgv(argv) {
|
|
78
|
+
const out = [];
|
|
79
|
+
for (let i = 0; i < argv.length; i++) {
|
|
80
|
+
const arg = argv[i];
|
|
81
|
+
out.push(arg);
|
|
82
|
+
if (SENSITIVE_ARGV_FLAG_PATTERN.test(arg) && i + 1 < argv.length) {
|
|
83
|
+
out.push('[redacted]');
|
|
84
|
+
i++;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return out;
|
|
88
|
+
}
|
|
89
|
+
exports.redactArgv = redactArgv;
|
|
53
90
|
//# sourceMappingURL=log-redaction.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log-redaction.js","sourceRoot":"","sources":["../../../src/services/logging/log-redaction.ts"],"names":[],"mappings":";;;AAAA,MAAM,qBAAqB,GACzB,
|
|
1
|
+
{"version":3,"file":"log-redaction.js","sourceRoot":"","sources":["../../../src/services/logging/log-redaction.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACH,MAAM,qBAAqB,GACzB,0VAA0V,CAAC;AAE7V,4EAA4E;AAC5E,MAAM,2BAA2B,GAC/B,uIAAuI,CAAC;AAE1I,kEAAkE;AAClE,MAAM,yBAAyB,GAAG,6BAA6B,CAAC;AAEhE,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAC/B,MAAM,SAAS,GAAG,CAAC,CAAC;AAEpB,SAAS,cAAc,CAAC,KAAa;IACnC,IAAI,KAAK,CAAC,MAAM,IAAI,iBAAiB,EAAE,CAAC;QACtC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,gBAAgB,CAAC;AAC9D,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa;IACxC,MAAM,KAAK,GAAG,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpD,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC;AAClC,CAAC;AAED,SAAS,aAAa,CAAC,KAAc,EAAE,KAAa;IAClD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAK,IAAI,SAAS,EAAE,CAAC;QACvB,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,cAAc,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC5D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC;SACvC,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,SAAS,GAA4B,EAAE,CAAC;QAC9C,KAAK,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,EAAE,CAAC;YAClF,SAAS,CAAC,GAAG,CAAC,GAAG,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC;gBAC9C,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,aAAa,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,SAAgB,aAAa,CAC3B,OAA4C;IAE5C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,aAAa,CAAC,OAAO,EAAE,CAAC,CAA4B,CAAC;AAC9D,CAAC;AARD,sCAQC;AAED;;;;;;GAMG;AACH,SAAgB,UAAU,CAAC,IAAuB;IAChD,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACd,IAAI,2BAA2B,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACjE,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACvB,CAAC,EAAE,CAAC;QACN,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAXD,gCAWC"}
|
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
import type { LoggingConfig, LoggingLevel } from '../../config/unified-config-types';
|
|
2
2
|
export type { LoggingConfig, LoggingLevel };
|
|
3
|
+
/**
|
|
4
|
+
* Canonical request lifecycle stages.
|
|
5
|
+
*
|
|
6
|
+
* Order represents typical flow but stages may be skipped or repeated.
|
|
7
|
+
* - intake: inbound request received at an entry edge (HTTP handler, CLI dispatch)
|
|
8
|
+
* - route: destination/profile/target resolution
|
|
9
|
+
* - auth: authentication/authorization (token exchange, profile auth)
|
|
10
|
+
* - dispatch: outbound request prepared / child process spawned
|
|
11
|
+
* - upstream: upstream call in flight (provider HTTP / spawned child running)
|
|
12
|
+
* - transform: payload translation (request/response shape conversion)
|
|
13
|
+
* - respond: response written / dispatched to caller (latencyMs typically populated here)
|
|
14
|
+
* - cleanup: error path, abort, teardown
|
|
15
|
+
*/
|
|
16
|
+
export type LogStage = 'intake' | 'route' | 'auth' | 'dispatch' | 'upstream' | 'transform' | 'respond' | 'cleanup';
|
|
17
|
+
export declare const LOG_STAGES: readonly LogStage[];
|
|
18
|
+
export interface LogErrorInfo {
|
|
19
|
+
name: string;
|
|
20
|
+
message: string;
|
|
21
|
+
code?: string;
|
|
22
|
+
stack?: string;
|
|
23
|
+
}
|
|
3
24
|
export interface LogEntry {
|
|
4
25
|
id: string;
|
|
5
26
|
timestamp: string;
|
|
@@ -10,6 +31,14 @@ export interface LogEntry {
|
|
|
10
31
|
processId: number;
|
|
11
32
|
runId: string;
|
|
12
33
|
context?: Record<string, unknown>;
|
|
34
|
+
/** Correlates entries belonging to a single inbound request across stages. */
|
|
35
|
+
requestId?: string;
|
|
36
|
+
/** Lifecycle stage tag — see {@link LogStage}. */
|
|
37
|
+
stage?: LogStage;
|
|
38
|
+
/** Elapsed time in milliseconds, typically attached to `respond`/`cleanup`. */
|
|
39
|
+
latencyMs?: number;
|
|
40
|
+
/** Structured error metadata; never stores raw token strings. */
|
|
41
|
+
error?: LogErrorInfo;
|
|
13
42
|
}
|
|
14
43
|
export interface LogSourceSummary {
|
|
15
44
|
source: string;
|
|
@@ -27,4 +56,5 @@ export interface ReadLogEntriesOptions {
|
|
|
27
56
|
export declare const LOG_LEVELS: readonly LoggingLevel[];
|
|
28
57
|
export declare function shouldWriteLogLevel(level: LoggingLevel, configuredLevel: LoggingLevel): boolean;
|
|
29
58
|
export declare function isLoggingLevel(value: string | undefined): value is LoggingLevel;
|
|
59
|
+
export declare function isLogStage(value: string | undefined): value is LogStage;
|
|
30
60
|
//# sourceMappingURL=log-types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log-types.d.ts","sourceRoot":"","sources":["../../../src/services/logging/log-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAErF,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;AAE5C,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"log-types.d.ts","sourceRoot":"","sources":["../../../src/services/logging/log-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAErF,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;AAE5C;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,QAAQ,GAChB,QAAQ,GACR,OAAO,GACP,MAAM,GACN,UAAU,GACV,UAAU,GACV,WAAW,GACX,SAAS,GACT,SAAS,CAAC;AAEd,eAAO,MAAM,UAAU,EAAE,SAAS,QAAQ,EAShC,CAAC;AAEX,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,UAAU,EAAE,SAAS,YAAY,EAAuC,CAAC;AAStF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,GAAG,OAAO,CAE/F;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,IAAI,YAAY,CAE/E;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,IAAI,QAAQ,CAEvE"}
|
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isLoggingLevel = exports.shouldWriteLogLevel = exports.LOG_LEVELS = void 0;
|
|
3
|
+
exports.isLogStage = exports.isLoggingLevel = exports.shouldWriteLogLevel = exports.LOG_LEVELS = exports.LOG_STAGES = void 0;
|
|
4
|
+
exports.LOG_STAGES = [
|
|
5
|
+
'intake',
|
|
6
|
+
'route',
|
|
7
|
+
'auth',
|
|
8
|
+
'dispatch',
|
|
9
|
+
'upstream',
|
|
10
|
+
'transform',
|
|
11
|
+
'respond',
|
|
12
|
+
'cleanup',
|
|
13
|
+
];
|
|
4
14
|
exports.LOG_LEVELS = ['error', 'warn', 'info', 'debug'];
|
|
5
15
|
const LOG_LEVEL_PRIORITY = {
|
|
6
16
|
error: 0,
|
|
@@ -16,4 +26,8 @@ function isLoggingLevel(value) {
|
|
|
16
26
|
return typeof value === 'string' && exports.LOG_LEVELS.includes(value);
|
|
17
27
|
}
|
|
18
28
|
exports.isLoggingLevel = isLoggingLevel;
|
|
29
|
+
function isLogStage(value) {
|
|
30
|
+
return typeof value === 'string' && exports.LOG_STAGES.includes(value);
|
|
31
|
+
}
|
|
32
|
+
exports.isLogStage = isLogStage;
|
|
19
33
|
//# sourceMappingURL=log-types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log-types.js","sourceRoot":"","sources":["../../../src/services/logging/log-types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"log-types.js","sourceRoot":"","sources":["../../../src/services/logging/log-types.ts"],"names":[],"mappings":";;;AA2Ba,QAAA,UAAU,GAAwB;IAC7C,QAAQ;IACR,OAAO;IACP,MAAM;IACN,UAAU;IACV,UAAU;IACV,WAAW;IACX,SAAS;IACT,SAAS;CACD,CAAC;AA4CE,QAAA,UAAU,GAA4B,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAEtF,MAAM,kBAAkB,GAAiC;IACvD,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;CACT,CAAC;AAEF,SAAgB,mBAAmB,CAAC,KAAmB,EAAE,eAA6B;IACpF,OAAO,kBAAkB,CAAC,KAAK,CAAC,IAAI,kBAAkB,CAAC,eAAe,CAAC,CAAC;AAC1E,CAAC;AAFD,kDAEC;AAED,SAAgB,cAAc,CAAC,KAAyB;IACtD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,kBAAU,CAAC,QAAQ,CAAC,KAAqB,CAAC,CAAC;AACjF,CAAC;AAFD,wCAEC;AAED,SAAgB,UAAU,CAAC,KAAyB;IAClD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,kBAAU,CAAC,QAAQ,CAAC,KAAiB,CAAC,CAAC;AAC7E,CAAC;AAFD,gCAEC"}
|
|
@@ -1,9 +1,26 @@
|
|
|
1
|
+
import type { LogEntry, LogStage, LoggingLevel } from './log-types';
|
|
2
|
+
export interface StageOptions {
|
|
3
|
+
/** Optional level override; default `'info'`. */
|
|
4
|
+
level?: LoggingLevel;
|
|
5
|
+
/** Optional latency in ms (typically attached to `respond`/`cleanup`). */
|
|
6
|
+
latencyMs?: number;
|
|
7
|
+
/** Optional structured error info for `cleanup` stages. */
|
|
8
|
+
error?: LogEntry['error'];
|
|
9
|
+
}
|
|
1
10
|
export interface Logger {
|
|
2
11
|
child(context: Record<string, unknown>): Logger;
|
|
3
12
|
debug(event: string, message: string, context?: Record<string, unknown>): void;
|
|
4
13
|
info(event: string, message: string, context?: Record<string, unknown>): void;
|
|
5
14
|
warn(event: string, message: string, context?: Record<string, unknown>): void;
|
|
6
15
|
error(event: string, message: string, context?: Record<string, unknown>): void;
|
|
16
|
+
/**
|
|
17
|
+
* Emit a stage-tagged log entry.
|
|
18
|
+
*
|
|
19
|
+
* Locked signature: `stage(stage, event, message, context?, options?)`.
|
|
20
|
+
* `options.level` defaults to `'info'`. Use `options.latencyMs` on
|
|
21
|
+
* `respond`/`cleanup`. Use `options.error` for structured error info.
|
|
22
|
+
*/
|
|
23
|
+
stage(stage: LogStage, event: string, message: string, context?: Record<string, unknown>, options?: StageOptions): void;
|
|
7
24
|
}
|
|
8
25
|
export declare function createLogger(source: string, baseContext?: Record<string, unknown>): Logger;
|
|
9
26
|
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/services/logging/logger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/services/logging/logger.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAsCpE,MAAM,WAAW,YAAY;IAC3B,iDAAiD;IACjD,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;CAC3B;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC;IAChD,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC/E,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC9E,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC9E,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC/E;;;;;;OAMG;IACH,KAAK,CACH,KAAK,EAAE,QAAQ,EACf,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,OAAO,CAAC,EAAE,YAAY,GACrB,IAAI,CAAC;CACT;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,MAAM,CAsC9F"}
|
|
@@ -3,12 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.createLogger = void 0;
|
|
4
4
|
const crypto_1 = require("crypto");
|
|
5
5
|
const log_config_1 = require("./log-config");
|
|
6
|
+
const log_context_1 = require("./log-context");
|
|
6
7
|
const log_redaction_1 = require("./log-redaction");
|
|
7
8
|
const log_storage_1 = require("./log-storage");
|
|
8
9
|
const processRunId = `${Date.now()}-${process.pid}-${Math.random().toString(36).slice(2, 10)}`;
|
|
9
|
-
function createEntry(source, level, event, message, context) {
|
|
10
|
+
function createEntry(source, level, event, message, context, options = {}) {
|
|
10
11
|
const config = (0, log_config_1.getResolvedLoggingConfig)();
|
|
11
|
-
|
|
12
|
+
const reqCtx = (0, log_context_1.getRequestContext)();
|
|
13
|
+
const entry = {
|
|
12
14
|
id: (0, crypto_1.randomUUID)(),
|
|
13
15
|
timestamp: new Date().toISOString(),
|
|
14
16
|
level,
|
|
@@ -19,10 +21,19 @@ function createEntry(source, level, event, message, context) {
|
|
|
19
21
|
runId: processRunId,
|
|
20
22
|
context: config.redact ? (0, log_redaction_1.redactContext)(context) : context,
|
|
21
23
|
};
|
|
24
|
+
if (reqCtx?.requestId)
|
|
25
|
+
entry.requestId = reqCtx.requestId;
|
|
26
|
+
if (options.stage)
|
|
27
|
+
entry.stage = options.stage;
|
|
28
|
+
if (typeof options.latencyMs === 'number')
|
|
29
|
+
entry.latencyMs = options.latencyMs;
|
|
30
|
+
if (options.error)
|
|
31
|
+
entry.error = options.error;
|
|
32
|
+
return entry;
|
|
22
33
|
}
|
|
23
34
|
function createLogger(source, baseContext = {}) {
|
|
24
|
-
const write = (level, event, message, context) => {
|
|
25
|
-
(0, log_storage_1.appendStructuredLogEntry)(createEntry(source, level, event, message, { ...baseContext, ...(context || {}) }));
|
|
35
|
+
const write = (level, event, message, context, extra = {}) => {
|
|
36
|
+
(0, log_storage_1.appendStructuredLogEntry)(createEntry(source, level, event, message, { ...baseContext, ...(context || {}) }, extra));
|
|
26
37
|
};
|
|
27
38
|
return {
|
|
28
39
|
child(context) {
|
|
@@ -40,6 +51,14 @@ function createLogger(source, baseContext = {}) {
|
|
|
40
51
|
error(event, message, context) {
|
|
41
52
|
write('error', event, message, context);
|
|
42
53
|
},
|
|
54
|
+
stage(stage, event, message, context, options) {
|
|
55
|
+
const level = options?.level ?? 'info';
|
|
56
|
+
write(level, event, message, context, {
|
|
57
|
+
stage,
|
|
58
|
+
latencyMs: options?.latencyMs,
|
|
59
|
+
error: options?.error,
|
|
60
|
+
});
|
|
61
|
+
},
|
|
43
62
|
};
|
|
44
63
|
}
|
|
45
64
|
exports.createLogger = createLogger;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/services/logging/logger.ts"],"names":[],"mappings":";;;AAAA,mCAAoC;AACpC,6CAAwD;AACxD,mDAAgD;AAChD,+CAAyD;AAGzD,MAAM,YAAY,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/services/logging/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-adapter.d.ts","sourceRoot":"","sources":["../../src/targets/claude-adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;;AAGH,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAElG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"claude-adapter.d.ts","sourceRoot":"","sources":["../../src/targets/claude-adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;;AAGH,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAElG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAiBpD,qBAAa,aAAc,YAAW,aAAa;IACjD,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAY;IACrC,QAAQ,CAAC,WAAW,iBAAiB;IAErC,YAAY,IAAI,gBAAgB,GAAG,IAAI;IAMvC;;OAEG;IACG,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlE,SAAS,CACP,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,iBAAiB,CAAC;QAC1B,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,UAAU,CAAC,EAAE,gBAAgB,CAAC;KAC/B,GACA,MAAM,EAAE;IAIX,QAAQ,CAAC,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,GAAG,MAAM,CAAC,UAAU;IA0B/E,IAAI,CACF,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,QAAQ,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,gBAAgB,CAAA;KAAE,GACzD,IAAI;IAqFP;;OAEG;IACH,mBAAmB,CAAC,YAAY,EAAE,WAAW,GAAG,OAAO;CAGxD"}
|
|
@@ -15,6 +15,8 @@ const websearch_manager_1 = require("../utils/websearch-manager");
|
|
|
15
15
|
const browser_1 = require("../utils/browser");
|
|
16
16
|
const signal_forwarder_1 = require("../utils/signal-forwarder");
|
|
17
17
|
const errors_1 = require("../errors");
|
|
18
|
+
const logging_1 = require("../services/logging");
|
|
19
|
+
const adapterLogger = (0, logging_1.createLogger)('targets:claude');
|
|
18
20
|
class ClaudeAdapter {
|
|
19
21
|
constructor() {
|
|
20
22
|
this.type = 'claude';
|
|
@@ -75,6 +77,12 @@ class ClaudeAdapter {
|
|
|
75
77
|
const isWindows = process.platform === 'win32';
|
|
76
78
|
const isPowerShellScript = isWindows && /\.ps1$/i.test(claudeCli);
|
|
77
79
|
const needsShell = isWindows && /\.(cmd|bat)$/i.test(claudeCli);
|
|
80
|
+
const spawnStartedAt = Date.now();
|
|
81
|
+
adapterLogger.stage('dispatch', 'target.spawn', 'Spawning Claude CLI child process', {
|
|
82
|
+
target: 'claude',
|
|
83
|
+
claudeCli,
|
|
84
|
+
argCount: args.length,
|
|
85
|
+
});
|
|
78
86
|
let child;
|
|
79
87
|
if (isPowerShellScript) {
|
|
80
88
|
child = (0, child_process_1.spawn)('powershell.exe', ['-NoProfile', '-ExecutionPolicy', 'Bypass', '-File', claudeCli, ...args], {
|
|
@@ -99,6 +107,9 @@ class ClaudeAdapter {
|
|
|
99
107
|
env,
|
|
100
108
|
});
|
|
101
109
|
}
|
|
110
|
+
child.on('exit', (code, signal) => {
|
|
111
|
+
adapterLogger.stage('respond', 'target.exit', 'Claude CLI child process exited', { target: 'claude', exitCode: code, signal }, { latencyMs: Date.now() - spawnStartedAt });
|
|
112
|
+
});
|
|
102
113
|
(0, signal_forwarder_1.wireChildProcessSignals)(child, async (err) => {
|
|
103
114
|
if (err.code === 'EACCES') {
|
|
104
115
|
console.error(`[X] Claude CLI is not executable: ${claudeCli}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-adapter.js","sourceRoot":"","sources":["../../src/targets/claude-adapter.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,iDAAoD;AAEpD,8DAA6E;AAE7E,4DAMiC;AACjC,0DAAsD;AACtD,kEAAiE;AACjE,8CAAyD;AACzD,gEAAoE;AACpE,sCAAuC;
|
|
1
|
+
{"version":3,"file":"claude-adapter.js","sourceRoot":"","sources":["../../src/targets/claude-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-adapter.d.ts","sourceRoot":"","sources":["../../src/targets/codex-adapter.ts"],"names":[],"mappings":";;AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAWpD,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACX,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"codex-adapter.d.ts","sourceRoot":"","sources":["../../src/targets/codex-adapter.ts"],"names":[],"mappings":";;AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAWpD,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACX,MAAM,kBAAkB,CAAC;AA6J1B,qBAAa,YAAa,YAAW,aAAa;IAChD,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAW;IACpC,QAAQ,CAAC,WAAW,eAAe;IAEnC,YAAY,IAAI,gBAAgB,GAAG,IAAI;IAIjC,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlE,SAAS,CACP,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,iBAAiB,CAAC;QAC1B,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,UAAU,CAAC,EAAE,gBAAgB,CAAC;KAC/B,GACA,MAAM,EAAE;IA6DX,QAAQ,CAAC,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,GAAG,MAAM,CAAC,UAAU;IAc/E,IAAI,CACF,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,gBAAgB,CAAA;KAAE,GACxD,IAAI;IAgGP,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO;CAKvD"}
|
|
@@ -31,6 +31,8 @@ const helpers_1 = require("../utils/helpers");
|
|
|
31
31
|
const signal_forwarder_1 = require("../utils/signal-forwarder");
|
|
32
32
|
const shell_executor_1 = require("../utils/shell-executor");
|
|
33
33
|
const codex_detector_1 = require("./codex-detector");
|
|
34
|
+
const logging_1 = require("../services/logging");
|
|
35
|
+
const adapterLogger = (0, logging_1.createLogger)('targets:codex');
|
|
34
36
|
const CODEX_RUNTIME_PROVIDER_ID = 'ccs_runtime';
|
|
35
37
|
const CODEX_RUNTIME_ENV_KEY = 'CCS_CODEX_API_KEY';
|
|
36
38
|
const CODEX_REASONING_LEVELS = new Set(['minimal', 'low', 'medium', 'high', 'xhigh']);
|
|
@@ -258,6 +260,12 @@ class CodexAdapter {
|
|
|
258
260
|
const isWindows = process.platform === 'win32';
|
|
259
261
|
const isPowerShellScript = isWindows && /\.ps1$/i.test(codexPath);
|
|
260
262
|
const needsShell = isWindows && /\.(cmd|bat)$/i.test(codexPath);
|
|
263
|
+
const spawnStartedAt = Date.now();
|
|
264
|
+
adapterLogger.stage('dispatch', 'target.spawn', 'Spawning Codex CLI child process', {
|
|
265
|
+
target: 'codex',
|
|
266
|
+
codexPath,
|
|
267
|
+
argCount: args.length,
|
|
268
|
+
});
|
|
261
269
|
let child;
|
|
262
270
|
if (isPowerShellScript) {
|
|
263
271
|
child = (0, child_process_1.spawn)('powershell.exe', ['-NoProfile', '-ExecutionPolicy', 'Bypass', '-File', codexPath, ...args], { stdio: 'inherit', windowsHide: true, env: launchEnv });
|
|
@@ -274,6 +282,9 @@ class CodexAdapter {
|
|
|
274
282
|
else {
|
|
275
283
|
child = (0, child_process_1.spawn)(codexPath, args, { stdio: 'inherit', windowsHide: true, env: launchEnv });
|
|
276
284
|
}
|
|
285
|
+
child.on('exit', (code, signal) => {
|
|
286
|
+
adapterLogger.stage('respond', 'target.exit', 'Codex CLI child process exited', { target: 'codex', exitCode: code, signal }, { latencyMs: Date.now() - spawnStartedAt });
|
|
287
|
+
});
|
|
277
288
|
(0, signal_forwarder_1.wireChildProcessSignals)(child, (err) => {
|
|
278
289
|
if (err.code === 'EACCES') {
|
|
279
290
|
console.error(`[X] Codex CLI is not executable: ${codexPath}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-adapter.js","sourceRoot":"","sources":["../../src/targets/codex-adapter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAoD;AACpD,uCAAyB;AAEzB,sCAAuC;AACvC,8CAA8C;AAC9C,gEAAoE;AACpE,4DAMiC;AAOjC,qDAK0B;
|
|
1
|
+
{"version":3,"file":"codex-adapter.js","sourceRoot":"","sources":["../../src/targets/codex-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"droid-adapter.d.ts","sourceRoot":"","sources":["../../src/targets/droid-adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;;AAIH,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAElG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"droid-adapter.d.ts","sourceRoot":"","sources":["../../src/targets/droid-adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;;AAIH,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAElG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAcpD,qBAAa,YAAa,YAAW,aAAa;IAChD,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAW;IACpC,QAAQ,CAAC,WAAW,mBAAmB;IAEvC,OAAO,CAAC,mBAAmB;IAS3B,YAAY,IAAI,gBAAgB,GAAG,IAAI;IASvC;;;OAGG;IACG,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBjE,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAWxD;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,iBAAiB,EAAE,YAAY,EAAE,WAAW,GAAG,MAAM,CAAC,UAAU;IAIjF,IAAI,CACF,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,gBAAgB,CAAA;KAAE,GACxD,IAAI;IAmGP,2EAA2E;IAC3E,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO;CAGvD"}
|
|
@@ -38,6 +38,8 @@ const droid_provider_1 = require("./droid-provider");
|
|
|
38
38
|
const shell_executor_1 = require("../utils/shell-executor");
|
|
39
39
|
const signal_forwarder_1 = require("../utils/signal-forwarder");
|
|
40
40
|
const errors_1 = require("../errors");
|
|
41
|
+
const logging_1 = require("../services/logging");
|
|
42
|
+
const adapterLogger = (0, logging_1.createLogger)('targets:droid');
|
|
41
43
|
class DroidAdapter {
|
|
42
44
|
constructor() {
|
|
43
45
|
this.type = 'droid';
|
|
@@ -127,6 +129,12 @@ class DroidAdapter {
|
|
|
127
129
|
const isWindows = process.platform === 'win32';
|
|
128
130
|
const isPowerShellScript = isWindows && /\.ps1$/i.test(droidPath);
|
|
129
131
|
const needsShell = isWindows && /\.(cmd|bat)$/i.test(droidPath);
|
|
132
|
+
const spawnStartedAt = Date.now();
|
|
133
|
+
adapterLogger.stage('dispatch', 'target.spawn', 'Spawning Droid CLI child process', {
|
|
134
|
+
target: 'droid',
|
|
135
|
+
droidPath,
|
|
136
|
+
argCount: args.length,
|
|
137
|
+
});
|
|
130
138
|
let child;
|
|
131
139
|
if (isPowerShellScript) {
|
|
132
140
|
child = (0, child_process_1.spawn)('powershell.exe', ['-NoProfile', '-ExecutionPolicy', 'Bypass', '-File', droidPath, ...args], {
|
|
@@ -151,6 +159,9 @@ class DroidAdapter {
|
|
|
151
159
|
env,
|
|
152
160
|
});
|
|
153
161
|
}
|
|
162
|
+
child.on('exit', (code, signal) => {
|
|
163
|
+
adapterLogger.stage('respond', 'target.exit', 'Droid CLI child process exited', { target: 'droid', exitCode: code, signal }, { latencyMs: Date.now() - spawnStartedAt });
|
|
164
|
+
});
|
|
154
165
|
(0, signal_forwarder_1.wireChildProcessSignals)(child, (err) => {
|
|
155
166
|
if (err.code === 'EACCES') {
|
|
156
167
|
console.error(`[X] Droid CLI is not executable: ${droidPath}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"droid-adapter.js","sourceRoot":"","sources":["../../src/targets/droid-adapter.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,iDAAoD;AACpD,uCAAyB;AAEzB,qDAAyF;AAEzF,iEAAwD;AACxD,qDAAwD;AACxD,4DAIiC;AACjC,gEAAoE;AACpE,sCAAuC;
|
|
1
|
+
{"version":3,"file":"droid-adapter.js","sourceRoot":"","sources":["../../src/targets/droid-adapter.ts"],"names":[],"mappings":"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"}
|