@blogic-cz/agent-tools 1.5.7 → 1.5.8
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/README.md +9 -1
- package/dist/az-tool/service.d.ts.map +1 -1
- package/dist/azdo-tool/service.d.ts.map +1 -1
- package/dist/credential-guard/index.d.ts +2 -0
- package/dist/credential-guard/index.d.ts.map +1 -1
- package/dist/db-tool/service.d.ts.map +1 -1
- package/dist/gh-tool/gist.d.ts +13 -0
- package/dist/gh-tool/gist.d.ts.map +1 -1
- package/dist/gh-tool/pr/core.d.ts.map +1 -1
- package/dist/gh-tool/pr/review.d.ts.map +1 -1
- package/dist/gh-tool/release.d.ts +46 -1
- package/dist/gh-tool/release.d.ts.map +1 -1
- package/dist/gh-tool/text-input.d.ts +5 -3
- package/dist/gh-tool/text-input.d.ts.map +1 -1
- package/dist/k8s-tool/service.d.ts.map +1 -1
- package/dist/logs-tool/main.d.ts +1 -2
- package/dist/logs-tool/main.d.ts.map +1 -1
- package/dist/observability-tool/shared.d.ts.map +1 -1
- package/dist/session-tool/main.d.ts +1 -2
- package/dist/session-tool/main.d.ts.map +1 -1
- package/dist/shared/audit.d.ts.map +1 -1
- package/dist/shared/content-security.d.ts +6 -0
- package/dist/shared/content-security.d.ts.map +1 -0
- package/dist/shared/credential-patterns.d.ts +11 -0
- package/dist/shared/credential-patterns.d.ts.map +1 -0
- package/dist/shared/effect-version.d.ts.map +1 -1
- package/dist/shared/error-renderer.d.ts.map +1 -1
- package/dist/shared/format.d.ts.map +1 -1
- package/dist/shared/index.d.ts +1 -0
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/output-boundary.d.ts +3 -0
- package/dist/shared/output-boundary.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/audit-tool/main.ts +3 -1
- package/src/az-tool/main.ts +3 -1
- package/src/az-tool/service.ts +9 -0
- package/src/azdo-tool/main.ts +3 -1
- package/src/azdo-tool/service.ts +17 -0
- package/src/credential-guard/claude-hook.ts +2 -1
- package/src/credential-guard/index.ts +25 -56
- package/src/db-tool/main.ts +3 -1
- package/src/db-tool/service.ts +25 -2
- package/src/gh-tool/gist.ts +63 -64
- package/src/gh-tool/main.ts +3 -1
- package/src/gh-tool/pr/core.ts +10 -3
- package/src/gh-tool/pr/review.ts +199 -12
- package/src/gh-tool/release.ts +104 -29
- package/src/gh-tool/text-input.ts +19 -38
- package/src/k8s-tool/main.ts +3 -1
- package/src/k8s-tool/service.ts +25 -0
- package/src/logs-tool/main.ts +7 -2
- package/src/observability-tool/main.ts +5 -7
- package/src/observability-tool/shared.ts +41 -1
- package/src/session-tool/main.ts +18 -3
- package/src/shared/audit.ts +11 -10
- package/src/shared/content-security.ts +91 -0
- package/src/shared/credential-patterns.ts +62 -0
- package/src/shared/effect-version.ts +2 -1
- package/src/shared/error-renderer.ts +15 -2
- package/src/shared/format.ts +33 -6
- package/src/shared/index.ts +5 -0
- package/src/shared/output-boundary.ts +29 -0
package/README.md
CHANGED
|
@@ -595,7 +595,7 @@ export AGENT_TOOLS_DB_PASSWORD="your-password"
|
|
|
595
595
|
export GITHUB_TOKEN="ghp_xxxxxxxxxxxx"
|
|
596
596
|
```
|
|
597
597
|
|
|
598
|
-
The
|
|
598
|
+
The wrappers check outgoing user content and redact recognized credentials in agent-facing output, errors, and audit records. Detection uses credential patterns and exact values of sensitive process environment variables of at least eight characters. Unknown credentials and transformed or encoded values may evade detection.
|
|
599
599
|
|
|
600
600
|
## Credential Guard
|
|
601
601
|
|
|
@@ -608,6 +608,14 @@ The guard blocks agents from accessing sensitive files, leaking secrets, and run
|
|
|
608
608
|
- Dangerous shell patterns (`printenv`, `cat .env`, etc.)
|
|
609
609
|
- Direct CLI usage (`gh`, `kubectl`, `psql`, `az`) — must use wrapper tools
|
|
610
610
|
|
|
611
|
+
### Content checks in wrappers
|
|
612
|
+
|
|
613
|
+
GitHub text and file publication, database queries, Azure and Kubernetes command arguments, and observability requests are checked before execution. GitHub file uploads use snapshots of the inspected bytes. Generated release notes and existing pending reviews or draft releases are inspected before publication. Authentication headers and connection credentials remain inside the tools.
|
|
614
|
+
|
|
615
|
+
Results retain their JSON or TOON structure, with detected credentials replaced by `[REDACTED]`. Audit records are sanitized before storage; reading older records also sanitizes the returned content but does not rewrite the database.
|
|
616
|
+
|
|
617
|
+
These checks apply to these wrappers. They do not intercept arbitrary shell programs or other agent tools. GitHub does not offer an atomic content-version condition for submitting pending reviews or publishing existing drafts, so a concurrent remote edit between inspection and publication remains possible.
|
|
618
|
+
|
|
611
619
|
### Setup for Claude Code
|
|
612
620
|
|
|
613
621
|
Claude Code uses shell command hooks. The package ships a ready-made wrapper script.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/az-tool/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAkB,MAAM,QAAQ,CAAC;AAIhE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG3F,OAAO,EAAE,aAAa,EAAiB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/az-tool/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAkB,MAAM,QAAQ,CAAC;AAIhE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG3F,OAAO,EAAE,aAAa,EAAiB,MAAM,SAAS,CAAC;AAUvD,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB,CAAC;;yBAKuB,CACnB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,MAAM,KACb,MAAM,CAAC,MAAM,CAChB,eAAe,EACf,eAAe,GAAG,cAAc,GAAG,cAAc,GAAG,YAAY,GAAG,cAAc,CAClF;4BACuB,CACtB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,MAAM,KACb,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,cAAc,GAAG,cAAc,CAAC;;AAbjF,qBAAa,SAAU,SAAQ,cAeF;IAC3B,MAAM,CAAC,QAAQ,CAAC,KAAK,yFA8KnB;CACH;AAED,eAAO,MAAM,cAAc,wFAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/azdo-tool/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAkB,MAAM,QAAQ,CAAC;AAEhE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAI5C,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAGjG,OAAO,EAAE,aAAa,EAAiB,MAAM,SAAS,CAAC;;
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/azdo-tool/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAkB,MAAM,QAAQ,CAAC;AAEhE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAI5C,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAGjG,OAAO,EAAE,aAAa,EAAiB,MAAM,SAAS,CAAC;;yBAO9B,CACnB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,MAAM,KACb,MAAM,CAAC,MAAM,CAChB,MAAM,EACN,iBAAiB,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,cAAc,CACzE;wBACmB,CAClB,MAAM,EAAE,YAAY,KACjB,MAAM,CAAC,MAAM,CAChB,OAAO,EACP,iBAAiB,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,cAAc,CACzE;;AAfL,qBAAa,WAAY,SAAQ,gBAiBF;IAC7B,MAAM,CAAC,QAAQ,CAAC,KAAK,2FAmOnB;CACH;AAED,eAAO,MAAM,gBAAgB,0FAAoB,CAAC"}
|
|
@@ -14,6 +14,8 @@
|
|
|
14
14
|
* at infrastructure level (K8s RBAC, file permissions, etc.)
|
|
15
15
|
*/
|
|
16
16
|
import type { CredentialGuardConfig } from "#config/types";
|
|
17
|
+
export { findSecretMatches } from "#shared/credential-patterns";
|
|
18
|
+
export { redactSensitiveText } from "#shared/content-security";
|
|
17
19
|
/** Input format received by hooks/plugins. */
|
|
18
20
|
export type HookInput = {
|
|
19
21
|
tool: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/credential-guard/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAmB,qBAAqB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/credential-guard/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAmB,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAI5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAM/D,8CAA8C;AAC9C,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,+CAA+C;AAC/C,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B,CAAC;AAQF,+CAA+C;AAC/C,MAAM,MAAM,eAAe,GAAG;IAC5B,uBAAuB,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IACxE,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC3E,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7C,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7C,sBAAsB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IACrD,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACjF,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IACjD,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CACxD,CAAC;AAonCF,6CAA6C;AAC7C,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAErE;AAED,2CAA2C;AAC3C,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAEpE;AAED,2CAA2C;AAC3C,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAEpE;AAMD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,CAAC,EAAE,qBAAqB,GAAG,eAAe,CAuQrF;AAQD,kEAAkE;AAClE,eAAO,MAAM,uBAAuB,UAr6CD,SAAS,UAAU,UAAU,KAAK,IAq6CM,CAAC;AAE5E,oDAAoD;AACpD,eAAO,MAAM,aAAa,YAv6CC,MAAM,KAAK;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAu6CjB,CAAC;AAExD,yEAAyE;AACzE,eAAO,MAAM,aAAa,aAz6CE,MAAM,KAAK,OAy6CgB,CAAC;AAExD,yDAAyD;AACzD,eAAO,MAAM,aAAa,aA36CE,MAAM,KAAK,OA26CgB,CAAC;AAExD,oEAAoE;AACpE,eAAO,MAAM,sBAAsB,YA76CC,MAAM,KAAK,OA66C0B,CAAC;AAE1E,iDAAiD;AACjD,eAAO,MAAM,iBAAiB,YA/6CC,MAAM,KAAK;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IA+6Cf,CAAC;AAEhE,wDAAwD;AACxD,eAAO,MAAM,kBAAkB,YAj7CC,MAAM,KAAK,OAi7CsB,CAAC;AAElE,8EAA8E;AAC9E,eAAO,MAAM,kBAAkB,YAn7CC,MAAM,KAAK,MAAM,GAAG,IAm7Ca,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/db-tool/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAAS,OAAO,EAAY,MAAM,EAAE,KAAK,EAAuB,MAAM,QAAQ,CAAC;AAEtF,OAAO,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEtF,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/db-tool/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAAS,OAAO,EAAY,MAAM,EAAE,KAAK,EAAuB,MAAM,QAAQ,CAAC;AAEtF,OAAO,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEtF,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAQxC,OAAO,EAAE,eAAe,EAA4B,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAqB,MAAM,cAAc,CAAC;AAC9D,OAAO,EAKL,KAAK,OAAO,EACb,MAAM,UAAU,CAAC;AA8BlB,MAAM,MAAM,oBAAoB,GAC5B;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC5C;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAErD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,oBAAoB,CAqBtB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,MAAM,CAOR;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,OAAO,EACzB,gBAAgB,GAAE,SAAS,mBAAmB,EAAO,GACpD,IAAI,CAAC,QAAQ,EAAE,gBAAgB,GAAG,kBAAkB,GAAG,MAAM,GAAG,aAAa,CAAC,CAUhF;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,gBAAgB,GAAG,kBAAkB,GAAG,wBAAwB,CAAC,GACvF,OAAO,CAMT;AAGD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;;2BAK3B,CACrB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,MAAM,KACX,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC;iCACX,CAC3B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,UAAU,EAChB,KAAK,CAAC,EAAE,MAAM,KACX,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC;;AAZ5C,qBAAa,SAAU,SAAQ,cAcF;IAC3B,MAAM,CAAC,QAAQ,CAAC,KAAK,yHA6vBnB;CACH"}
|
package/dist/gh-tool/gist.d.ts
CHANGED
|
@@ -46,6 +46,11 @@ type GistCreateResult = {
|
|
|
46
46
|
public: boolean;
|
|
47
47
|
files: string[];
|
|
48
48
|
};
|
|
49
|
+
type GistEditResult = {
|
|
50
|
+
edited: true;
|
|
51
|
+
id: string;
|
|
52
|
+
changes: string[];
|
|
53
|
+
};
|
|
49
54
|
export declare const toGistDetail: (gist: GistApi, opts: {
|
|
50
55
|
filename: string | null;
|
|
51
56
|
withContent: boolean;
|
|
@@ -63,6 +68,14 @@ export declare const createGist: (opts: {
|
|
|
63
68
|
description: string | null;
|
|
64
69
|
public: boolean;
|
|
65
70
|
}) => Effect.Effect<GistCreateResult, import("./service").GhError, GitHubService>;
|
|
71
|
+
export declare const editGist: (opts: {
|
|
72
|
+
id: string;
|
|
73
|
+
description: string | null;
|
|
74
|
+
add: string | null;
|
|
75
|
+
remove: string | null;
|
|
76
|
+
filename: string | null;
|
|
77
|
+
sourcePath: string | null;
|
|
78
|
+
}) => Effect.Effect<GistEditResult, import("./service").GhError, GitHubService | import("effect/Scope").Scope>;
|
|
66
79
|
export declare const gistListCommand: Command.Command<"list", {
|
|
67
80
|
readonly format: "json" | "toon";
|
|
68
81
|
readonly limit: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gist.d.ts","sourceRoot":"","sources":["../../src/gh-tool/gist.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAQ,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"gist.d.ts","sourceRoot":"","sources":["../../src/gh-tool/gist.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/gh-tool/pr/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,MAAM,EAAkB,MAAM,QAAQ,CAAC;AAE1E,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,iBAAiB,EAEjB,WAAW,EACX,aAAa,EACb,MAAM,EAGN,iBAAiB,EAIlB,MAAM,WAAW,CAAC;AAEnB,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/gh-tool/pr/core.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../../src/gh-tool/pr/review.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,KAAK,EAEV,YAAY,EAGZ,iBAAiB,EACjB,aAAa,EACb,YAAY,EAEb,MAAM,WAAW,CAAC;AAEnB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../../src/gh-tool/pr/review.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,KAAK,EAEV,YAAY,EAGZ,iBAAiB,EACjB,aAAa,EACb,YAAY,EAEb,MAAM,WAAW,CAAC;AAEnB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAye5C;;;GAGG;AACH,eAAO,MAAM,YAAY,gMAcvB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,aAAa,uKAoCxB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,kBAAkB,8KAmC7B,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,YAAY,+NA+CvB,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,aAAa;;;;;gDAaxB,CAAC;AAEH,eAAO,MAAM,uBAAuB,6JAgBlC,CAAC;AAEH,eAAO,MAAM,gBAAgB,gHA0C3B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;gDA4CjC,CAAC;AAeH;;GAEG;AACH,eAAO,MAAM,cAAc;;;gDA4FzB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;gDA0FjC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,aAAa;;;gDAWxB,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAgCzD;;;GAGG;AACH,eAAO,MAAM,YAAY;QACnB,MAAM,GAAG,IAAI;WACV,WAAW;UACZ,MAAM;aACH,OAAO;;;;;;;gDAmDhB,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;gDAyM9B,CAAC;AAeH,eAAO,MAAM,sBAAsB;;;;gDA8CjC,CAAC"}
|
|
@@ -1,6 +1,50 @@
|
|
|
1
1
|
import { Command } from "effect/unstable/cli";
|
|
2
|
-
import { Option } from "effect";
|
|
2
|
+
import { Effect, Option } from "effect";
|
|
3
|
+
import { GitHubCommandError } from "#gh/errors";
|
|
3
4
|
import { GitHubService } from "./service";
|
|
5
|
+
type ReleaseCreateResult = {
|
|
6
|
+
created: true;
|
|
7
|
+
tagName: string;
|
|
8
|
+
name: string;
|
|
9
|
+
url: string;
|
|
10
|
+
isDraft: boolean;
|
|
11
|
+
isPrerelease: boolean;
|
|
12
|
+
};
|
|
13
|
+
type ReleaseEditResult = {
|
|
14
|
+
edited: true;
|
|
15
|
+
tagName: string;
|
|
16
|
+
name: string;
|
|
17
|
+
url: string;
|
|
18
|
+
isDraft: boolean;
|
|
19
|
+
isPrerelease: boolean;
|
|
20
|
+
};
|
|
21
|
+
export declare const resolveCreateNotes: (opts: {
|
|
22
|
+
body: string | null;
|
|
23
|
+
bodyFile: string | null;
|
|
24
|
+
notesFile: string | null;
|
|
25
|
+
}) => Effect.Effect<string | null, GitHubCommandError, never>;
|
|
26
|
+
export declare const createRelease: (opts: {
|
|
27
|
+
tag: string;
|
|
28
|
+
title: string | null;
|
|
29
|
+
body: string | null;
|
|
30
|
+
draft: boolean;
|
|
31
|
+
prerelease: boolean;
|
|
32
|
+
generateNotes: boolean;
|
|
33
|
+
notesStartTag: string | null;
|
|
34
|
+
target: string | null;
|
|
35
|
+
verifyTag: boolean;
|
|
36
|
+
latest: boolean | null;
|
|
37
|
+
repo: string | null;
|
|
38
|
+
}) => Effect.Effect<ReleaseCreateResult, import("./service").GhError, GitHubService>;
|
|
39
|
+
export declare const editRelease: (opts: {
|
|
40
|
+
tag: string;
|
|
41
|
+
title: string | null;
|
|
42
|
+
body: string | null;
|
|
43
|
+
draft: boolean | null;
|
|
44
|
+
prerelease: boolean | null;
|
|
45
|
+
latest: boolean | null;
|
|
46
|
+
repo: string | null;
|
|
47
|
+
}) => Effect.Effect<ReleaseEditResult, import("./service").GhError, GitHubService>;
|
|
4
48
|
export declare const releaseCreateCommand: Command.Command<"create", {
|
|
5
49
|
readonly body: Option.Option<string>;
|
|
6
50
|
readonly bodyFile: Option.Option<string>;
|
|
@@ -49,4 +93,5 @@ export declare const releaseStatusCommand: Command.Command<"status", {
|
|
|
49
93
|
readonly format: "json" | "toon";
|
|
50
94
|
readonly repo: Option.Option<string>;
|
|
51
95
|
}, {}, import("./service").GhError, GitHubService>;
|
|
96
|
+
export {};
|
|
52
97
|
//# sourceMappingURL=release.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"release.d.ts","sourceRoot":"","sources":["../../src/gh-tool/release.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAQ,MAAM,qBAAqB,CAAC;AACpD,OAAO,
|
|
1
|
+
{"version":3,"file":"release.d.ts","sourceRoot":"","sources":["../../src/gh-tool/release.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAQ,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAuC1C,KAAK,mBAAmB,GAAG;IACzB,OAAO,EAAE,IAAI,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,MAAM,EAAE,IAAI,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAuEF,eAAO,MAAM,kBAAkB,SAAU;IACvC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,4DAoBA,CAAC;AAEF,eAAO,MAAM,aAAa;SACnB,MAAM;WACJ,MAAM,GAAG,IAAI;UACd,MAAM,GAAG,IAAI;WACZ,OAAO;gBACF,OAAO;mBACJ,OAAO;mBACP,MAAM,GAAG,IAAI;YACpB,MAAM,GAAG,IAAI;eACV,OAAO;YACV,OAAO,GAAG,IAAI;UAChB,MAAM,GAAG,IAAI;oFAsGnB,CAAC;AAEH,eAAO,MAAM,WAAW;SACjB,MAAM;WACJ,MAAM,GAAG,IAAI;UACd,MAAM,GAAG,IAAI;WACZ,OAAO,GAAG,IAAI;gBACT,OAAO,GAAG,IAAI;YAClB,OAAO,GAAG,IAAI;UAChB,MAAM,GAAG,IAAI;kFAmEnB,CAAC;AA+EH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;kDAiGhC,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;kDAsBiB,CAAC;AAEjD,eAAO,MAAM,kBAAkB;;;;kDAmB+B,CAAC;AAE/D,eAAO,MAAM,kBAAkB;;;;;;;;;;kDAsD4B,CAAC;AAE5D,eAAO,MAAM,oBAAoB;;;;;;kDA6BiE,CAAC;AAEnG,eAAO,MAAM,oBAAoB;;;kDAckE,CAAC"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { Effect, Schema } from "effect";
|
|
2
2
|
import { GitHubCommandError } from "#gh/errors";
|
|
3
|
+
export { unsafeOutboundTextReason } from "#shared/content-security";
|
|
3
4
|
declare const MissingMode: Schema.Literals<readonly ["error", "null", "default"]>;
|
|
4
5
|
export declare const isSensitivePath: (filePath: string) => boolean;
|
|
5
|
-
/** Inspect the final text, after shell expansion and after reading files or stdin. */
|
|
6
|
-
export declare function unsafeOutboundTextReason(text: string, environment?: Record<string, string | undefined>): string | null;
|
|
7
6
|
export declare const validateOutboundText: (text: string, command: string) => Effect.Effect<string, never, never> | Effect.Effect<never, GitHubCommandError, never>;
|
|
7
|
+
export declare const readValidatedOutboundFile: (filePath: string, command: string) => Effect.Effect<{
|
|
8
|
+
bytes: Uint8Array<ArrayBuffer>;
|
|
9
|
+
text: string;
|
|
10
|
+
}, GitHubCommandError, never>;
|
|
8
11
|
export declare const validateOutboundFile: (filePath: string, command: string) => Effect.Effect<void, GitHubCommandError, never>;
|
|
9
12
|
type ResolveTextInputOptions = {
|
|
10
13
|
command: string;
|
|
@@ -23,5 +26,4 @@ export declare const resolveOptionalTextInput: (options: Omit<ResolveTextInputOp
|
|
|
23
26
|
export declare const resolveDefaultTextInput: (options: Omit<ResolveTextInputOptions, "missingMode" | "missingValue"> & {
|
|
24
27
|
defaultValue: string;
|
|
25
28
|
}) => Effect.Effect<string, GitHubCommandError>;
|
|
26
|
-
export {};
|
|
27
29
|
//# sourceMappingURL=text-input.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-input.d.ts","sourceRoot":"","sources":["../../src/gh-tool/text-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"text-input.d.ts","sourceRoot":"","sources":["../../src/gh-tool/text-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAGhD,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AASpE,QAAA,MAAM,WAAW,wDAAgD,CAAC;AAIlE,eAAO,MAAM,eAAe,aAAc,MAAM,YACmB,CAAC;AAEpE,eAAO,MAAM,oBAAoB,SAAU,MAAM,WAAW,MAAM,0FAYjE,CAAC;AAEF,eAAO,MAAM,yBAAyB,aAAc,MAAM,WAAW,MAAM;;;6BAUH,CAAC;AAEzE,eAAO,MAAM,oBAAoB,aAAc,MAAM,WAAW,MAAM,mDACJ,CAAC;AAuBnE,KAAK,uBAAuB,GAAG;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,WAAW,CAAC,CAAC;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAwFF,eAAO,MAAM,wBAAwB,YAC1B,IAAI,CAAC,uBAAuB,EAAE,aAAa,GAAG,cAAc,CAAC,KACrE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAIuD,CAAC;AAEnG,eAAO,MAAM,wBAAwB,YAC1B,IAAI,CAAC,uBAAuB,EAAE,aAAa,GAAG,cAAc,CAAC,KACrE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,EAAE,kBAAkB,CAI9C,CAAC;AAEL,eAAO,MAAM,uBAAuB,YACzB,IAAI,CAAC,uBAAuB,EAAE,aAAa,GAAG,cAAc,CAAC,GAAG;IACvE,YAAY,EAAE,MAAM,CAAC;CACtB,KACA,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAKsD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/k8s-tool/service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgB,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAe,MAAM,QAAQ,CAAC;AAE7D,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE1D,OAAO,EACL,eAAe,EACf,eAAe,EACf,wBAAwB,EACxB,eAAe,EAChB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,aAAa,EAAiB,MAAM,SAAS,CAAC;;
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/k8s-tool/service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgB,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAe,MAAM,QAAQ,CAAC;AAE7D,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE1D,OAAO,EACL,eAAe,EACf,eAAe,EACf,wBAAwB,EACxB,eAAe,EAChB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,aAAa,EAAiB,MAAM,SAAS,CAAC;;yBAgB9B,CACnB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,WAAW,EAChB,OAAO,CAAC,EAAE,MAAM,KACb,MAAM,CAAC,MAAM,CAChB,MAAM,EACN,eAAe,GAAG,eAAe,GAAG,eAAe,GAAG,wBAAwB,CAC/E;yBACoB,CACnB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,MAAM,KACb,MAAM,CAAC,MAAM,CAChB,aAAa,EACb,eAAe,GAAG,eAAe,GAAG,eAAe,GAAG,wBAAwB,CAC/E;yBACoB,CACnB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,KACb,MAAM,CAAC,MAAM,CAChB,aAAa,EACb,eAAe,GAAG,eAAe,GAAG,eAAe,GAAG,wBAAwB,CAC/E;;AA5BL,qBAAa,UAAW,SAAQ,eA8BF;IAC5B,MAAM,CAAC,QAAQ,CAAC,KAAK,0FAmdnB;CACH;AAED,eAAO,MAAM,eAAe,yFAAmB,CAAC;AAEhD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC"}
|
package/dist/logs-tool/main.d.ts
CHANGED
|
@@ -12,10 +12,9 @@
|
|
|
12
12
|
* Always start with --list to see available log files.
|
|
13
13
|
* Use --format toon for LLM-optimized output (fewer tokens).
|
|
14
14
|
*/
|
|
15
|
-
import { Command } from "effect/unstable/cli";
|
|
16
15
|
import { Effect } from "effect";
|
|
17
16
|
import { ConfigService } from "#config";
|
|
18
17
|
import { LogsConfigError } from "./errors";
|
|
19
18
|
import { LogsService } from "./service";
|
|
20
|
-
export declare const run: (
|
|
19
|
+
export declare const run: (args: ReadonlyArray<string>) => Effect.Effect<void, LogsConfigError | import("effect/unstable/cli/CliError").CliError, import("effect/unstable/process/ChildProcessSpawner").ChildProcessSpawner | ConfigService | import("effect/FileSystem").FileSystem | LogsService | import("effect/Path").Path | import("effect/Stdio").Stdio | import("effect/Terminal").Terminal>;
|
|
21
20
|
//# sourceMappingURL=main.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/logs-tool/main.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;GAYG;
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/logs-tool/main.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;GAYG;AAIH,OAAO,EAAE,MAAM,EAAyB,MAAM,QAAQ,CAAC;AAcvD,OAAO,EAAE,aAAa,EAA6C,MAAM,SAAS,CAAC;AACnF,OAAO,EAAE,eAAe,EAAsD,MAAM,UAAU,CAAC;AAC/F,OAAO,EAAE,WAAW,EAAoB,MAAM,WAAW,CAAC;AA2M1D,eAAO,MAAM,GAAG,SAAU,aAAa,CAAC,MAAM,CAAC,8UAC6C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/observability-tool/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAE3C,OAAO,EAAE,aAAa,EAAiB,MAAM,SAAS,CAAC;AAGvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/observability-tool/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAE3C,OAAO,EAAE,aAAa,EAAiB,MAAM,SAAS,CAAC;AAGvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAElD,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EAEf,sBAAsB,EACvB,MAAM,SAAS,CAAC;AAOjB,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAe/D;AAED,eAAO,MAAM,SAAS,mBAGrB,CAAC;AAEF,eAAO,MAAM,aAAa,kCAMzB,CAAC;AAkCF;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,sBAAsB,GAC7B,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAU/C;AAyDD,eAAO,MAAM,aAAa,QAAS,MAAM,WAAW,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,iFA4BrE,CAAC;AAEL,wBAAgB,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAWpD;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,MAAM,EAAE,sBAAsB,EAC9B,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,WAAW,GACjB,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAgE1C;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,sBAAsB,EAC9B,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,YAAY,GAAG,MAAM,EACrC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,WAAW,GACpB,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAkCxD"}
|
|
@@ -5,9 +5,8 @@
|
|
|
5
5
|
* Lists, searches, and reads OpenCode session history.
|
|
6
6
|
* Uses current project scope by default, or all projects with --all.
|
|
7
7
|
*/
|
|
8
|
-
import { Command } from "effect/unstable/cli";
|
|
9
8
|
import { Effect } from "effect";
|
|
10
9
|
import { ResolvedPaths } from "./config";
|
|
11
10
|
import { SessionService } from "./service";
|
|
12
|
-
export declare const run: (
|
|
11
|
+
export declare const run: (args: ReadonlyArray<string>) => Effect.Effect<void, import("effect/unstable/cli/CliError").CliError, import("effect/unstable/process/ChildProcessSpawner").ChildProcessSpawner | import("effect/FileSystem").FileSystem | import("effect/Path").Path | ResolvedPaths | SessionService | import("effect/Stdio").Stdio | import("effect/Terminal").Terminal>;
|
|
13
12
|
//# sourceMappingURL=main.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/session-tool/main.ts"],"names":[],"mappings":";AAEA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/session-tool/main.ts"],"names":[],"mappings":";AAEA;;;;;GAKG;AAIH,OAAO,EAAE,MAAM,EAAiB,MAAM,QAAQ,CAAC;AAgB/C,OAAO,EAAE,aAAa,EAAsB,MAAM,UAAU,CAAC;AAE7D,OAAO,EAAc,cAAc,EAAuB,MAAM,WAAW,CAAC;AAqT5E,eAAO,MAAM,GAAG,SAAU,aAAa,CAAC,MAAM,CAAC,+TAC6C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/shared/audit.ts"],"names":[],"mappings":"AAKA,OAAO,EAAS,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/shared/audit.ts"],"names":[],"mappings":"AAKA,OAAO,EAAS,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAQvD,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3E,QAAQ,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS,aAAa,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC/F,QAAQ,CAAC,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;CACpF,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC,CAAC;;AAuBF,qBAAa,YAAa,SAAQ,iBAEjC;CAAG;AAEJ,eAAO,MAAM,kBAAkB,QAAO,MAAyD,CAAC;AAkNhG,eAAO,MAAM,qBAAqB,aAAa,mBAAmB,4CAqBjE,CAAC;AAEF,eAAO,MAAM,iBAAiB,yCAA0B,CAAC;AAQzD,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,YACrB,MAAM,WACP,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,YAAY,CAqCnC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare function unsafeOutboundTextReason(text: string, environment?: Record<string, string | undefined>): string | null;
|
|
2
|
+
/** Remove recognized secret spans and known sensitive process-environment values. */
|
|
3
|
+
export declare function redactSensitiveText(text: string, environment?: Record<string, string | undefined>): string;
|
|
4
|
+
/** Sanitize values before serialization so JSON and TOON retain their structure. */
|
|
5
|
+
export declare function redactSensitiveValue<T>(value: T, environment?: Record<string, string | undefined>): T;
|
|
6
|
+
//# sourceMappingURL=content-security.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-security.d.ts","sourceRoot":"","sources":["../../src/shared/content-security.ts"],"names":[],"mappings":"AAiBA,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,WAAW,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAC5D,MAAM,GAAG,IAAI,CAcf;AAED,qFAAqF;AACrF,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,WAAW,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAC5D,MAAM,CAuBR;AAED,oFAAoF;AACpF,wBAAgB,oBAAoB,CAAC,CAAC,EACpC,KAAK,EAAE,CAAC,EACR,WAAW,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAC5D,CAAC,CAqBH"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** Patterns used by the credential guard and shared output redaction. */
|
|
2
|
+
export declare const SECRET_PATTERNS: {
|
|
3
|
+
name: string;
|
|
4
|
+
pattern: RegExp;
|
|
5
|
+
}[];
|
|
6
|
+
export declare function findSecretMatches(content: string): Array<{
|
|
7
|
+
name: string;
|
|
8
|
+
start: number;
|
|
9
|
+
end: number;
|
|
10
|
+
}>;
|
|
11
|
+
//# sourceMappingURL=credential-patterns.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credential-patterns.d.ts","sourceRoot":"","sources":["../../src/shared/credential-patterns.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,eAAO,MAAM,eAAe;;;GAqC3B,CAAC;AAEF,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,GACd,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAmBrD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"effect-version.d.ts","sourceRoot":"","sources":["../../src/shared/effect-version.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"effect-version.d.ts","sourceRoot":"","sources":["../../src/shared/effect-version.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,oBAAoB,QAA8B,CAAC;AAEhE,eAAO,MAAM,kBAAkB,YAAa,MAAM,GAAG,SAAS,KAAG,MAAM,GAAG,SAOzE,CAAC;AAEF,eAAO,MAAM,kBAAkB,QAAa,OAAO,CAAC,OAAO,CAe1D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-renderer.d.ts","sourceRoot":"","sources":["../../src/shared/error-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,EAAE,KAAK,EAAW,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"error-renderer.d.ts","sourceRoot":"","sources":["../../src/shared/error-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,EAAE,KAAK,EAAW,MAAM,QAAQ,CAAC;AAoExC,eAAO,MAAM,mBAAmB,UAAW,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAC5B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/shared/format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAE3C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/shared/format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAE3C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAExD,eAAO,MAAM,YAAY,4BAGxB,CAAC;AAEF,wBAAgB,YAAY,CAAC,CAAC,SAAS,UAAU,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY,GAAG,MAAM,CAK1F;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY,GAAG,MAAM,CAKlE;AAiCD,eAAO,MAAM,OAAO,SAAU,MAAM,2CAShC,CAAC;AAEL,eAAO,MAAM,YAAY,GAAI,CAAC,QAAQ,CAAC,UAAU,YAAY,2CAAqC,CAAC"}
|
package/dist/shared/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export { formatAny, formatOption, formatOutput, logFormatted, logText } from "./
|
|
|
3
3
|
export { expandPath, runCommand } from "./bun";
|
|
4
4
|
export { commonArgOptions, parseCommonArgs } from "./cli";
|
|
5
5
|
export { renderCauseToStderr } from "./error-renderer";
|
|
6
|
+
export { redactSensitiveText, redactSensitiveValue, unsafeOutboundTextReason, } from "./content-security";
|
|
6
7
|
export { dumpCommandSchema, makeSchemaCommand, type CommandSchema } from "./schema-dump";
|
|
7
8
|
export declare const VERSION: string;
|
|
8
9
|
export { execEffect, renderCommandLine, tokenizeCommandLine, type ExecError } from "./exec";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,UAAU,EACV,cAAc,EACd,aAAa,EACb,WAAW,EACX,YAAY,EACZ,UAAU,GACX,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExF,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAE/C,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAE1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,UAAU,EACV,cAAc,EACd,aAAa,EACb,WAAW,EACX,YAAY,EACZ,UAAU,GACX,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExF,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAE/C,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAE1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAIzF,eAAO,MAAM,OAAO,QAAc,CAAC;AAEnC,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AAE5F,OAAO,EAAE,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhE,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,YAAY,GACb,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output-boundary.d.ts","sourceRoot":"","sources":["../../src/shared/output-boundary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,MAAM,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAOnD,eAAO,MAAM,kBAAkB,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,2FAqBvE,CAAC"}
|
package/package.json
CHANGED
package/src/audit-tool/main.ts
CHANGED
|
@@ -12,6 +12,7 @@ import {
|
|
|
12
12
|
VERSION,
|
|
13
13
|
} from "#shared";
|
|
14
14
|
import { AuditService, AuditServiceLayer, withAudit } from "#shared/audit";
|
|
15
|
+
import { withRedactedOutput } from "#shared/output-boundary";
|
|
15
16
|
|
|
16
17
|
type AuditToolResult<T> = {
|
|
17
18
|
success: boolean;
|
|
@@ -97,11 +98,12 @@ const mainCommand = Command.make("audit-tool", {}).pipe(
|
|
|
97
98
|
|
|
98
99
|
const cli = Command.run(mainCommand, {
|
|
99
100
|
version: VERSION,
|
|
101
|
+
renderErrors: false,
|
|
100
102
|
});
|
|
101
103
|
|
|
102
104
|
const MainLayer = AuditServiceLayer.pipe(Layer.provideMerge(BunServices.layer));
|
|
103
105
|
|
|
104
|
-
const program = withAudit("audit", cli).pipe(
|
|
106
|
+
const program = withRedactedOutput(withAudit("audit", cli)).pipe(
|
|
105
107
|
Effect.provide(MainLayer),
|
|
106
108
|
Effect.tapCause(renderCauseToStderr),
|
|
107
109
|
);
|
package/src/az-tool/main.ts
CHANGED
|
@@ -12,6 +12,7 @@ import {
|
|
|
12
12
|
VERSION,
|
|
13
13
|
} from "#shared";
|
|
14
14
|
import { AuditServiceLayer, withAudit } from "#shared/audit";
|
|
15
|
+
import { withRedactedOutput } from "#shared/output-boundary";
|
|
15
16
|
import { AzService, AzServiceLayer } from "./service";
|
|
16
17
|
import { ConfigServiceLayer } from "#config";
|
|
17
18
|
|
|
@@ -135,6 +136,7 @@ Raw az wrapper:
|
|
|
135
136
|
|
|
136
137
|
const cli = Command.run(mainCommand, {
|
|
137
138
|
version: VERSION,
|
|
139
|
+
renderErrors: false,
|
|
138
140
|
});
|
|
139
141
|
|
|
140
142
|
const MainLayer = AzServiceLayer.pipe(
|
|
@@ -143,7 +145,7 @@ const MainLayer = AzServiceLayer.pipe(
|
|
|
143
145
|
Layer.provideMerge(AuditServiceLayer),
|
|
144
146
|
);
|
|
145
147
|
|
|
146
|
-
const program = withAudit("az", cli).pipe(
|
|
148
|
+
const program = withRedactedOutput(withAudit("az", cli)).pipe(
|
|
147
149
|
Effect.provide(MainLayer),
|
|
148
150
|
Effect.tapCause(renderCauseToStderr),
|
|
149
151
|
);
|
package/src/az-tool/service.ts
CHANGED
|
@@ -11,6 +11,7 @@ import { isAzCommandAllowed } from "./security";
|
|
|
11
11
|
import { ConfigService, getToolConfig } from "#config";
|
|
12
12
|
import { missingBinaryFromSpawnFailure } from "#shared/binary-preflight";
|
|
13
13
|
import { renderCommandLine } from "#shared/exec";
|
|
14
|
+
import { unsafeOutboundTextReason } from "#shared/content-security";
|
|
14
15
|
|
|
15
16
|
const DEFAULT_TIMEOUT_MS = 60000;
|
|
16
17
|
|
|
@@ -95,6 +96,14 @@ export class AzService extends Context.Service<
|
|
|
95
96
|
});
|
|
96
97
|
}
|
|
97
98
|
|
|
99
|
+
const unsafeReason = unsafeOutboundTextReason(securityCheck.argv.join(" "));
|
|
100
|
+
if (unsafeReason !== null) {
|
|
101
|
+
return yield* new AzSecurityError({
|
|
102
|
+
message: `Refusing to send command containing ${unsafeReason}.`,
|
|
103
|
+
command: "[redacted]",
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
|
|
98
107
|
const argv = [...securityCheck.argv, "--only-show-errors"];
|
|
99
108
|
|
|
100
109
|
if (!hasOutputFlag(securityCheck.argv)) {
|
package/src/azdo-tool/main.ts
CHANGED
|
@@ -13,6 +13,7 @@ import {
|
|
|
13
13
|
VERSION,
|
|
14
14
|
} from "#shared";
|
|
15
15
|
import { AuditServiceLayer, withAudit } from "#shared/audit";
|
|
16
|
+
import { withRedactedOutput } from "#shared/output-boundary";
|
|
16
17
|
import {
|
|
17
18
|
findFailedJobs,
|
|
18
19
|
getBuildJobSummary,
|
|
@@ -204,6 +205,7 @@ Raw az wrapper:
|
|
|
204
205
|
|
|
205
206
|
const cli = Command.run(mainCommand, {
|
|
206
207
|
version: VERSION,
|
|
208
|
+
renderErrors: false,
|
|
207
209
|
});
|
|
208
210
|
|
|
209
211
|
const MainLayer = AzdoServiceLayer.pipe(
|
|
@@ -212,7 +214,7 @@ const MainLayer = AzdoServiceLayer.pipe(
|
|
|
212
214
|
Layer.provideMerge(AuditServiceLayer),
|
|
213
215
|
);
|
|
214
216
|
|
|
215
|
-
const program = withAudit("azdo", cli).pipe(
|
|
217
|
+
const program = withRedactedOutput(withAudit("azdo", cli)).pipe(
|
|
216
218
|
Effect.provide(MainLayer),
|
|
217
219
|
Effect.tapCause(renderCauseToStderr),
|
|
218
220
|
);
|
package/src/azdo-tool/service.ts
CHANGED
|
@@ -10,6 +10,7 @@ import { isCommandAllowed, isInvokeAllowed } from "./security";
|
|
|
10
10
|
import { transformCmdOutput } from "./transformers";
|
|
11
11
|
import { ConfigService, getToolConfig } from "#config";
|
|
12
12
|
import { renderCommandLine, tokenizeCommandLine } from "#shared/exec";
|
|
13
|
+
import { unsafeOutboundTextReason } from "#shared/content-security";
|
|
13
14
|
|
|
14
15
|
export class AzdoService extends Context.Service<
|
|
15
16
|
AzdoService,
|
|
@@ -120,6 +121,14 @@ export class AzdoService extends Context.Service<
|
|
|
120
121
|
);
|
|
121
122
|
|
|
122
123
|
const cmdArgv = tokenizeCommandLine(cmd);
|
|
124
|
+
const unsafeReason = unsafeOutboundTextReason([...cmdArgv, projectName].join(" "));
|
|
125
|
+
if (unsafeReason !== null) {
|
|
126
|
+
return yield* new AzdoSecurityError({
|
|
127
|
+
message: `Refusing to send command containing ${unsafeReason}.`,
|
|
128
|
+
command: "[redacted]",
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
|
|
123
132
|
const scopeArgv = [
|
|
124
133
|
"--organization",
|
|
125
134
|
azConfig.organization,
|
|
@@ -200,6 +209,14 @@ export class AzdoService extends Context.Service<
|
|
|
200
209
|
);
|
|
201
210
|
}
|
|
202
211
|
|
|
212
|
+
const unsafeReason = unsafeOutboundTextReason(argv.join(" "));
|
|
213
|
+
if (unsafeReason !== null) {
|
|
214
|
+
return yield* new AzdoSecurityError({
|
|
215
|
+
message: `Refusing to send invoke parameters containing ${unsafeReason}.`,
|
|
216
|
+
command: "invoke [redacted]",
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
|
|
203
220
|
argv.push("--organization", azConfig.organization, "--output", "json");
|
|
204
221
|
|
|
205
222
|
const fullCommand = renderCommandLine(["az", ...argv]);
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
import { loadConfig } from "#config/loader";
|
|
14
14
|
|
|
15
15
|
import { createCredentialGuard } from "./index";
|
|
16
|
+
import { redactSensitiveText } from "#shared/content-security";
|
|
16
17
|
|
|
17
18
|
const stdin = await Bun.stdin.text();
|
|
18
19
|
|
|
@@ -29,6 +30,6 @@ try {
|
|
|
29
30
|
);
|
|
30
31
|
} catch (error: unknown) {
|
|
31
32
|
const message = error instanceof Error ? error.message : String(error);
|
|
32
|
-
process.stderr.write(message);
|
|
33
|
+
process.stderr.write(redactSensitiveText(message));
|
|
33
34
|
process.exit(2);
|
|
34
35
|
}
|