@praxis.guard/auditor-cli 0.0.50 → 0.0.52

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/README.md +13 -0
  2. package/README.vscode.md +48 -0
  3. package/dist/adapters/copilot-cli/adapter.d.ts +10 -0
  4. package/dist/adapters/copilot-cli/adapter.d.ts.map +1 -0
  5. package/dist/adapters/copilot-cli/adapter.js +105 -0
  6. package/dist/adapters/copilot-cli/adapter.js.map +1 -0
  7. package/dist/adapters/copilot-cli/config.d.ts +18 -0
  8. package/dist/adapters/copilot-cli/config.d.ts.map +1 -0
  9. package/dist/adapters/copilot-cli/config.js +118 -0
  10. package/dist/adapters/copilot-cli/config.js.map +1 -0
  11. package/dist/adapters/copilot-cli/index.d.ts +3 -0
  12. package/dist/adapters/copilot-cli/index.d.ts.map +1 -0
  13. package/dist/adapters/copilot-cli/index.js +3 -0
  14. package/dist/adapters/copilot-cli/index.js.map +1 -0
  15. package/dist/adapters/copilot-cli/paths.d.ts +8 -0
  16. package/dist/adapters/copilot-cli/paths.d.ts.map +1 -0
  17. package/dist/adapters/copilot-cli/paths.js +18 -0
  18. package/dist/adapters/copilot-cli/paths.js.map +1 -0
  19. package/dist/adapters/copilot-cli.d.ts +2 -0
  20. package/dist/adapters/copilot-cli.d.ts.map +1 -0
  21. package/dist/adapters/copilot-cli.js +2 -0
  22. package/dist/adapters/copilot-cli.js.map +1 -0
  23. package/dist/adapters/registry.d.ts.map +1 -1
  24. package/dist/adapters/registry.js +4 -0
  25. package/dist/adapters/registry.js.map +1 -1
  26. package/dist/adapters/select-targets.d.ts.map +1 -1
  27. package/dist/adapters/select-targets.js +4 -3
  28. package/dist/adapters/select-targets.js.map +1 -1
  29. package/dist/adapters/types.d.ts +5 -1
  30. package/dist/adapters/types.d.ts.map +1 -1
  31. package/dist/adapters/vscode.d.ts +9 -0
  32. package/dist/adapters/vscode.d.ts.map +1 -0
  33. package/dist/adapters/vscode.js +87 -0
  34. package/dist/adapters/vscode.js.map +1 -0
  35. package/dist/cli/dispatch-hook.d.ts.map +1 -1
  36. package/dist/cli/dispatch-hook.js +5 -0
  37. package/dist/cli/dispatch-hook.js.map +1 -1
  38. package/dist/cli/doctor.d.ts.map +1 -1
  39. package/dist/cli/doctor.js +4 -1
  40. package/dist/cli/doctor.js.map +1 -1
  41. package/dist/cli/help.d.ts.map +1 -1
  42. package/dist/cli/help.js +2 -1
  43. package/dist/cli/help.js.map +1 -1
  44. package/dist/cli/setup-all.d.ts.map +1 -1
  45. package/dist/cli/setup-all.js +2 -0
  46. package/dist/cli/setup-all.js.map +1 -1
  47. package/dist/cli/setup-doctor.d.ts.map +1 -1
  48. package/dist/cli/setup-doctor.js +8 -1
  49. package/dist/cli/setup-doctor.js.map +1 -1
  50. package/dist/cli/setup-hook.d.ts.map +1 -1
  51. package/dist/cli/setup-hook.js +2 -0
  52. package/dist/cli/setup-hook.js.map +1 -1
  53. package/dist/cli/setup-mcp.d.ts.map +1 -1
  54. package/dist/cli/setup-mcp.js +2 -0
  55. package/dist/cli/setup-mcp.js.map +1 -1
  56. package/dist/cli/setup-warnings.d.ts +3 -0
  57. package/dist/cli/setup-warnings.d.ts.map +1 -0
  58. package/dist/cli/setup-warnings.js +11 -0
  59. package/dist/cli/setup-warnings.js.map +1 -0
  60. package/dist/codex/config-hooks.d.ts +7 -0
  61. package/dist/codex/config-hooks.d.ts.map +1 -0
  62. package/dist/codex/config-hooks.js +61 -0
  63. package/dist/codex/config-hooks.js.map +1 -0
  64. package/dist/codex/config-io.d.ts +6 -0
  65. package/dist/codex/config-io.d.ts.map +1 -0
  66. package/dist/codex/config-io.js +34 -0
  67. package/dist/codex/config-io.js.map +1 -0
  68. package/dist/codex/config-toml.d.ts +4 -0
  69. package/dist/codex/config-toml.d.ts.map +1 -0
  70. package/dist/codex/config-toml.js +65 -0
  71. package/dist/codex/config-toml.js.map +1 -0
  72. package/dist/codex/config.d.ts +1 -4
  73. package/dist/codex/config.d.ts.map +1 -1
  74. package/dist/codex/config.js +8 -152
  75. package/dist/codex/config.js.map +1 -1
  76. package/dist/codex/evaluate-tool-audit.d.ts +2 -1
  77. package/dist/codex/evaluate-tool-audit.d.ts.map +1 -1
  78. package/dist/codex/evaluate-tool-audit.js +2 -2
  79. package/dist/codex/evaluate-tool-audit.js.map +1 -1
  80. package/dist/codex/evaluate-tool-bash.d.ts +2 -2
  81. package/dist/codex/evaluate-tool-bash.d.ts.map +1 -1
  82. package/dist/codex/evaluate-tool-bash.js +3 -3
  83. package/dist/codex/evaluate-tool-bash.js.map +1 -1
  84. package/dist/codex/evaluate-tool-mcp.d.ts +2 -2
  85. package/dist/codex/evaluate-tool-mcp.d.ts.map +1 -1
  86. package/dist/codex/evaluate-tool-mcp.js +3 -3
  87. package/dist/codex/evaluate-tool-mcp.js.map +1 -1
  88. package/dist/codex/evaluate-tool-types.d.ts +6 -0
  89. package/dist/codex/evaluate-tool-types.d.ts.map +1 -1
  90. package/dist/codex/evaluate-tool-types.js +5 -0
  91. package/dist/codex/evaluate-tool-types.js.map +1 -1
  92. package/dist/codex/evaluate-tool.d.ts +2 -2
  93. package/dist/codex/evaluate-tool.d.ts.map +1 -1
  94. package/dist/codex/evaluate-tool.js +4 -3
  95. package/dist/codex/evaluate-tool.js.map +1 -1
  96. package/dist/hooks/run-copilot-cli-pre-tool-use.d.ts +2 -0
  97. package/dist/hooks/run-copilot-cli-pre-tool-use.d.ts.map +1 -0
  98. package/dist/hooks/run-copilot-cli-pre-tool-use.js +77 -0
  99. package/dist/hooks/run-copilot-cli-pre-tool-use.js.map +1 -0
  100. package/dist/telemetry/agent-host.d.ts.map +1 -1
  101. package/dist/telemetry/agent-host.js +1 -0
  102. package/dist/telemetry/agent-host.js.map +1 -1
  103. package/package.json +1 -1
@@ -0,0 +1,77 @@
1
+ import { evaluateCodexTool } from "../codex/evaluate-tool.js";
2
+ const BUILTIN_TOOLS = new Set([
3
+ "ask_user",
4
+ "create",
5
+ "edit",
6
+ "glob",
7
+ "grep",
8
+ "task",
9
+ "view",
10
+ "web_fetch",
11
+ ]);
12
+ const COPILOT_CONTEXT = {
13
+ agent: "copilot-cli",
14
+ hook: "copilotPreToolUse",
15
+ recordPermissionHandoff: false,
16
+ };
17
+ async function readStdinJson() {
18
+ let data = "";
19
+ for await (const chunk of process.stdin)
20
+ data += String(chunk);
21
+ return JSON.parse(data);
22
+ }
23
+ function normalizePayload(payload) {
24
+ const toolName = payload.toolName?.trim();
25
+ if (!toolName || BUILTIN_TOOLS.has(toolName))
26
+ return null;
27
+ if (toolName === "guard" || toolName === "guard_wait")
28
+ return null;
29
+ if (toolName === "bash" || toolName === "powershell") {
30
+ return {
31
+ session_id: payload.sessionId,
32
+ cwd: payload.cwd,
33
+ tool_name: "Bash",
34
+ tool_input: normalizeShellArgs(payload.toolArgs),
35
+ };
36
+ }
37
+ return {
38
+ session_id: payload.sessionId,
39
+ cwd: payload.cwd,
40
+ tool_name: toolName.startsWith("mcp__") ? toolName : `mcp__copilot__${toolName}`,
41
+ tool_input: payload.toolArgs,
42
+ };
43
+ }
44
+ function writeResponse(response) {
45
+ process.stdout.write(JSON.stringify(response));
46
+ }
47
+ function normalizeShellArgs(toolArgs) {
48
+ if (!toolArgs || typeof toolArgs !== "object" || Array.isArray(toolArgs))
49
+ return toolArgs;
50
+ const args = toolArgs;
51
+ if (typeof args.command === "string")
52
+ return args;
53
+ if (typeof args.script === "string")
54
+ return { ...args, command: args.script };
55
+ return args;
56
+ }
57
+ export async function runCopilotCliPreToolUseHookFromStdin() {
58
+ try {
59
+ const payload = normalizePayload(await readStdinJson());
60
+ if (!payload) {
61
+ writeResponse({ permissionDecision: "allow" });
62
+ return;
63
+ }
64
+ const result = await evaluateCodexTool(payload, COPILOT_CONTEXT);
65
+ writeResponse({
66
+ permissionDecision: result.allowed ? "allow" : "deny",
67
+ ...(result.reason ? { permissionDecisionReason: result.reason } : {}),
68
+ });
69
+ }
70
+ catch (error) {
71
+ writeResponse({
72
+ permissionDecision: "deny",
73
+ permissionDecisionReason: `Praxis guard hook failed closed: ${String(error)}`,
74
+ });
75
+ }
76
+ }
77
+ //# sourceMappingURL=run-copilot-cli-pre-tool-use.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-copilot-cli-pre-tool-use.js","sourceRoot":"","sources":["../../src/hooks/run-copilot-cli-pre-tool-use.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAe9D,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IAC5B,UAAU;IACV,QAAQ;IACR,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,WAAW;CACZ,CAAC,CAAC;AAEH,MAAM,eAAe,GAA0B;IAC7C,KAAK,EAAE,aAAa;IACpB,IAAI,EAAE,mBAAmB;IACzB,uBAAuB,EAAE,KAAK;CAC/B,CAAC;AAEF,KAAK,UAAU,aAAa;IAC1B,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK;QAAE,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/D,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAmB,CAAC;AAC5C,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAuB;IAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC1C,IAAI,CAAC,QAAQ,IAAI,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1D,IAAI,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,YAAY;QAAE,OAAO,IAAI,CAAC;IACnE,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;QACrD,OAAO;YACL,UAAU,EAAE,OAAO,CAAC,SAAS;YAC7B,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,SAAS,EAAE,MAAM;YACjB,UAAU,EAAE,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC;SACjD,CAAC;IACJ,CAAC;IACD,OAAO;QACL,UAAU,EAAE,OAAO,CAAC,SAAS;QAC7B,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,QAAQ,EAAE;QAChF,UAAU,EAAE,OAAO,CAAC,QAAQ;KAC7B,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,QAAyB;IAC9C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAiB;IAC3C,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC1F,MAAM,IAAI,GAAG,QAAmC,CAAC;IACjD,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAClD,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;IAC9E,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oCAAoC;IACxD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,aAAa,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,aAAa,CAAC,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QACjE,aAAa,CAAC;YACZ,kBAAkB,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;YACrD,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtE,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,aAAa,CAAC;YACZ,kBAAkB,EAAE,MAAM;YAC1B,wBAAwB,EAAE,oCAAoC,MAAM,CAAC,KAAK,CAAC,EAAE;SAC9E,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent-host.d.ts","sourceRoot":"","sources":["../../src/telemetry/agent-host.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC;AAU1D,wBAAgB,gBAAgB,IAAI,SAAS,CAI5C"}
1
+ {"version":3,"file":"agent-host.d.ts","sourceRoot":"","sources":["../../src/telemetry/agent-host.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC;AAW1D,wBAAgB,gBAAgB,IAAI,SAAS,CAI5C"}
@@ -3,6 +3,7 @@ const KNOWN_HOSTS = [
3
3
  "claude-desktop",
4
4
  "claude-code",
5
5
  "codex-app",
6
+ "copilot-cli",
6
7
  "unknown",
7
8
  ];
8
9
  export function resolveAgentHost() {
@@ -1 +1 @@
1
- {"version":3,"file":"agent-host.js","sourceRoot":"","sources":["../../src/telemetry/agent-host.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,GAAyB;IACxC,QAAQ;IACR,gBAAgB;IAChB,aAAa;IACb,WAAW;IACX,SAAS;CACV,CAAC;AAEF,MAAM,UAAU,gBAAgB;IAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC;IAClD,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,OAAQ,WAAiC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,GAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3F,CAAC"}
1
+ {"version":3,"file":"agent-host.js","sourceRoot":"","sources":["../../src/telemetry/agent-host.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,GAAyB;IACxC,QAAQ;IACR,gBAAgB;IAChB,aAAa;IACb,WAAW;IACX,aAAa;IACb,SAAS;CACV,CAAC;AAEF,MAAM,UAAU,gBAAgB;IAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC;IAClD,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,OAAQ,WAAiC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,GAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3F,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@praxis.guard/auditor-cli",
3
- "version": "0.0.50",
3
+ "version": "0.0.52",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "license": "MIT",