@praxis.guard/auditor-cli 0.0.55 → 0.0.57

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 (95) hide show
  1. package/dist/adapters/cursor.d.ts.map +1 -1
  2. package/dist/adapters/cursor.js +2 -1
  3. package/dist/adapters/cursor.js.map +1 -1
  4. package/dist/adapters/types.d.ts +2 -0
  5. package/dist/adapters/types.d.ts.map +1 -1
  6. package/dist/bridge/guard-storage-root.d.ts +9 -0
  7. package/dist/bridge/guard-storage-root.d.ts.map +1 -1
  8. package/dist/bridge/guard-storage-root.js +27 -1
  9. package/dist/bridge/guard-storage-root.js.map +1 -1
  10. package/dist/bridge/guard-workspace-session.d.ts +11 -0
  11. package/dist/bridge/guard-workspace-session.d.ts.map +1 -0
  12. package/dist/bridge/guard-workspace-session.js +66 -0
  13. package/dist/bridge/guard-workspace-session.js.map +1 -0
  14. package/dist/cli/cursor-config/hooks-config.d.ts.map +1 -1
  15. package/dist/cli/cursor-config/hooks-config.js +27 -8
  16. package/dist/cli/cursor-config/hooks-config.js.map +1 -1
  17. package/dist/cli/cursor-config/mcp-config.d.ts +1 -1
  18. package/dist/cli/cursor-config/mcp-config.d.ts.map +1 -1
  19. package/dist/cli/cursor-config/mcp-config.js +10 -5
  20. package/dist/cli/cursor-config/mcp-config.js.map +1 -1
  21. package/dist/cli/cursor-config/types.d.ts +1 -0
  22. package/dist/cli/cursor-config/types.d.ts.map +1 -1
  23. package/dist/cli/daemon.d.ts +2 -0
  24. package/dist/cli/daemon.d.ts.map +1 -0
  25. package/dist/cli/daemon.js +35 -0
  26. package/dist/cli/daemon.js.map +1 -0
  27. package/dist/cli/help.d.ts.map +1 -1
  28. package/dist/cli/help.js +13 -3
  29. package/dist/cli/help.js.map +1 -1
  30. package/dist/cli/main.d.ts.map +1 -1
  31. package/dist/cli/main.js +12 -0
  32. package/dist/cli/main.js.map +1 -1
  33. package/dist/cli/setup-all.d.ts +1 -0
  34. package/dist/cli/setup-all.d.ts.map +1 -1
  35. package/dist/cli/setup-all.js +11 -1
  36. package/dist/cli/setup-all.js.map +1 -1
  37. package/dist/cli/setup-doctor.d.ts.map +1 -1
  38. package/dist/cli/setup-doctor.js +3 -0
  39. package/dist/cli/setup-doctor.js.map +1 -1
  40. package/dist/cli/setup-hook.d.ts +1 -0
  41. package/dist/cli/setup-hook.d.ts.map +1 -1
  42. package/dist/cli/setup-hook.js +10 -1
  43. package/dist/cli/setup-hook.js.map +1 -1
  44. package/dist/cli/setup-mcp.d.ts +1 -0
  45. package/dist/cli/setup-mcp.d.ts.map +1 -1
  46. package/dist/cli/setup-mcp.js +10 -1
  47. package/dist/cli/setup-mcp.js.map +1 -1
  48. package/dist/daemon/client.d.ts +15 -0
  49. package/dist/daemon/client.d.ts.map +1 -0
  50. package/dist/daemon/client.js +80 -0
  51. package/dist/daemon/client.js.map +1 -0
  52. package/dist/daemon/lifecycle.d.ts +4 -0
  53. package/dist/daemon/lifecycle.d.ts.map +1 -0
  54. package/dist/daemon/lifecycle.js +52 -0
  55. package/dist/daemon/lifecycle.js.map +1 -0
  56. package/dist/daemon/paths.d.ts +6 -0
  57. package/dist/daemon/paths.d.ts.map +1 -0
  58. package/dist/daemon/paths.js +41 -0
  59. package/dist/daemon/paths.js.map +1 -0
  60. package/dist/daemon/protocol.d.ts +41 -0
  61. package/dist/daemon/protocol.d.ts.map +1 -0
  62. package/dist/daemon/protocol.js +2 -0
  63. package/dist/daemon/protocol.js.map +1 -0
  64. package/dist/daemon/service.d.ts +3 -0
  65. package/dist/daemon/service.d.ts.map +1 -0
  66. package/dist/daemon/service.js +83 -0
  67. package/dist/daemon/service.js.map +1 -0
  68. package/dist/hooks/before-mcp-argv.d.ts.map +1 -1
  69. package/dist/hooks/before-mcp-argv.js +5 -7
  70. package/dist/hooks/before-mcp-argv.js.map +1 -1
  71. package/dist/hooks/run-before-mcp.d.ts.map +1 -1
  72. package/dist/hooks/run-before-mcp.js +5 -1
  73. package/dist/hooks/run-before-mcp.js.map +1 -1
  74. package/dist/hooks/run-before-shell.d.ts.map +1 -1
  75. package/dist/hooks/run-before-shell.js +4 -1
  76. package/dist/hooks/run-before-shell.js.map +1 -1
  77. package/dist/mcp/evaluate-guard.d.ts.map +1 -1
  78. package/dist/mcp/evaluate-guard.js +40 -4
  79. package/dist/mcp/evaluate-guard.js.map +1 -1
  80. package/dist/mcp/guard-schemas.d.ts +2 -0
  81. package/dist/mcp/guard-schemas.d.ts.map +1 -1
  82. package/dist/mcp/guard-schemas.js +5 -1
  83. package/dist/mcp/guard-schemas.js.map +1 -1
  84. package/dist/mcp/server.d.ts.map +1 -1
  85. package/dist/mcp/server.js +32 -6
  86. package/dist/mcp/server.js.map +1 -1
  87. package/native/darwin-amd64/praxis-guard-daemon +0 -0
  88. package/native/darwin-amd64/praxis-guard-hook +0 -0
  89. package/native/darwin-arm64/praxis-guard-daemon +0 -0
  90. package/native/darwin-arm64/praxis-guard-hook +0 -0
  91. package/native/linux-amd64/praxis-guard-daemon +0 -0
  92. package/native/linux-amd64/praxis-guard-hook +0 -0
  93. package/native/linux-arm64/praxis-guard-daemon +0 -0
  94. package/native/linux-arm64/praxis-guard-hook +0 -0
  95. package/package.json +5 -2
@@ -1 +1 @@
1
- {"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../src/adapters/cursor.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,WAAW,EACX,UAAU,EACV,eAAe,EACf,cAAc,EACd,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB;;;;;;GAMG;AACH,qBAAa,aAAc,YAAW,YAAY;IAChD,QAAQ,CAAC,EAAE,EAAG,QAAQ,CAAU;IAChC,QAAQ,CAAC,KAAK,YAAY;IAE1B,eAAe,IAAI,OAAO;IAI1B,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAStD,SAAS,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC;IAIpD,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;IAIlD,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;CA2CtD"}
1
+ {"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../src/adapters/cursor.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,WAAW,EACX,UAAU,EACV,eAAe,EACf,cAAc,EACd,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB;;;;;;GAMG;AACH,qBAAa,aAAc,YAAW,YAAY;IAChD,QAAQ,CAAC,EAAE,EAAG,QAAQ,CAAU;IAChC,QAAQ,CAAC,KAAK,YAAY;IAE1B,eAAe,IAAI,OAAO;IAI1B,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAUtD,SAAS,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC;IAIpD,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;IAIlD,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;CA2CtD"}
@@ -21,10 +21,11 @@ export class CursorAdapter {
21
21
  projectDir: opts.projectDir,
22
22
  explicitPath: opts.explicitPath,
23
23
  dryRun: opts.dryRun,
24
+ nativeHooks: opts.nativeHooks,
24
25
  });
25
26
  }
26
27
  upsertMcp(opts) {
27
- return upsertMcpConfig(opts.explicitPath, opts.dryRun);
28
+ return upsertMcpConfig(opts.explicitPath, opts.dryRun, opts.nativeDaemon);
28
29
  }
29
30
  upsertCloud(opts) {
30
31
  return upsertEnvironmentConfig(opts.projectDir, opts.dryRun);
@@ -1 +1 @@
1
- {"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../src/adapters/cursor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../src/adapters/cursor.ts"],"names":[],"mappings":"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"}
@@ -55,11 +55,13 @@ export type UpsertHookOpts = {
55
55
  projectDir?: string;
56
56
  explicitPath?: string;
57
57
  dryRun?: boolean;
58
+ nativeHooks?: boolean;
58
59
  };
59
60
  export type UpsertMcpOpts = {
60
61
  explicitPath?: string;
61
62
  projectDir?: string;
62
63
  dryRun?: boolean;
64
+ nativeDaemon?: boolean;
63
65
  };
64
66
  export type UpsertCloudOpts = {
65
67
  projectDir: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/adapters/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/adapters/types.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { type WorkspaceHints } from "./guard-workspace-session.js";
1
2
  /** Canonical (IDE-neutral) subdir for guard runtime state under a workspace root. */
2
3
  export declare const GUARD_DIR = ".praxis/guard";
3
4
  /** Legacy Cursor-only subdir. Read for back-compat; new writes go to GUARD_DIR. */
@@ -10,10 +11,18 @@ export declare const LEGACY_GUARD_DIR = ".cursor/guard";
10
11
  * 1. `.praxis/` — neutral marker (preferred; dropped by `auditor setup`)
11
12
  * 2. `.cursor/hooks.json` — legacy Cursor marker
12
13
  * 3. `.git/` — repo root fallback
14
+ *
15
+ * `~/.praxis` alone is skipped — it is global config, not a project workspace.
13
16
  */
14
17
  export declare function resolveGuardStorageRoot(preferredCwd?: string): string;
18
+ /** Resolve guard storage from hook/MCP workspace hints (shared by hooks and guard MCP). */
19
+ export declare function resolveGuardStorageRootFromHints(hints?: WorkspaceHints): string;
20
+ /** Persist the active workspace so MCP guard can align tickets with hook cwd. */
21
+ export declare function rememberActiveWorkspace(hints?: WorkspaceHints): void;
15
22
  /** Absolute path to the guard storage dir for a given preferred cwd. */
16
23
  export declare function guardStorageDir(preferredCwd?: string): string;
17
24
  /** Absolute path to a named subdir/file under the guard storage dir. */
18
25
  export declare function guardSubpath(segment: string, preferredCwd?: string): string;
26
+ export type { WorkspaceHints } from "./guard-workspace-session.js";
27
+ export { resolvePreferredWorkspaceCwd } from "./guard-workspace-session.js";
19
28
  //# sourceMappingURL=guard-storage-root.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"guard-storage-root.d.ts","sourceRoot":"","sources":["../../src/bridge/guard-storage-root.ts"],"names":[],"mappings":"AAGA,qFAAqF;AACrF,eAAO,MAAM,SAAS,kBAAkB,CAAC;AAEzC,mFAAmF;AACnF,eAAO,MAAM,gBAAgB,kBAAkB,CAAC;AAEhD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAgBrE;AA4BD,wEAAwE;AACxE,wBAAgB,eAAe,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAI7D;AAED,wEAAwE;AACxE,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAE3E"}
1
+ {"version":3,"file":"guard-storage-root.d.ts","sourceRoot":"","sources":["../../src/bridge/guard-storage-root.ts"],"names":[],"mappings":"AAIA,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,8BAA8B,CAAC;AAEtC,qFAAqF;AACrF,eAAO,MAAM,SAAS,kBAAkB,CAAC;AAEzC,mFAAmF;AACnF,eAAO,MAAM,gBAAgB,kBAAkB,CAAC;AAWhD;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAgBrE;AAED,2FAA2F;AAC3F,wBAAgB,gCAAgC,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,MAAM,CAE/E;AAED,iFAAiF;AACjF,wBAAgB,uBAAuB,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,IAAI,CAQpE;AA4BD,wEAAwE;AACxE,wBAAgB,eAAe,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAI7D;AAED,wEAAwE;AACxE,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAE3E;AAED,YAAY,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC"}
@@ -1,9 +1,18 @@
1
1
  import { existsSync, mkdirSync, renameSync } from "node:fs";
2
+ import os from "node:os";
2
3
  import path from "node:path";
4
+ import { pickWorkspaceHint, resolvePreferredWorkspaceCwd, writeActiveWorkspaceSession, } from "./guard-workspace-session.js";
3
5
  /** Canonical (IDE-neutral) subdir for guard runtime state under a workspace root. */
4
6
  export const GUARD_DIR = ".praxis/guard";
5
7
  /** Legacy Cursor-only subdir. Read for back-compat; new writes go to GUARD_DIR. */
6
8
  export const LEGACY_GUARD_DIR = ".cursor/guard";
9
+ function isUserHomeDir(dir) {
10
+ return path.resolve(dir) === path.resolve(os.homedir());
11
+ }
12
+ /** `~/.praxis` holds global policies/daemon config — not the active repo workspace. */
13
+ function isGlobalHomePraxisMarker(dir) {
14
+ return isUserHomeDir(dir) && existsSync(path.join(dir, ".praxis"));
15
+ }
7
16
  /**
8
17
  * Resolve where guard runtime state lives. Hooks and MCP redeem must use the same root
9
18
  * (workspace), not the subprocess cwd (e.g. `packages/auditor-cli`).
@@ -12,6 +21,8 @@ export const LEGACY_GUARD_DIR = ".cursor/guard";
12
21
  * 1. `.praxis/` — neutral marker (preferred; dropped by `auditor setup`)
13
22
  * 2. `.cursor/hooks.json` — legacy Cursor marker
14
23
  * 3. `.git/` — repo root fallback
24
+ *
25
+ * `~/.praxis` alone is skipped — it is global config, not a project workspace.
15
26
  */
16
27
  export function resolveGuardStorageRoot(preferredCwd) {
17
28
  const override = process.env.PRAXIS_GUARD_STORAGE_ROOT?.trim();
@@ -20,7 +31,7 @@ export function resolveGuardStorageRoot(preferredCwd) {
20
31
  let dir = preferredCwd?.trim() ? path.resolve(preferredCwd.trim()) : process.cwd();
21
32
  const fsRoot = path.parse(dir).root;
22
33
  while (true) {
23
- if (existsSync(path.join(dir, ".praxis")))
34
+ if (existsSync(path.join(dir, ".praxis")) && !isGlobalHomePraxisMarker(dir))
24
35
  return dir;
25
36
  if (existsSync(path.join(dir, ".cursor", "hooks.json")))
26
37
  return dir;
@@ -32,6 +43,20 @@ export function resolveGuardStorageRoot(preferredCwd) {
32
43
  }
33
44
  return preferredCwd?.trim() ? path.resolve(preferredCwd.trim()) : process.cwd();
34
45
  }
46
+ /** Resolve guard storage from hook/MCP workspace hints (shared by hooks and guard MCP). */
47
+ export function resolveGuardStorageRootFromHints(hints) {
48
+ return resolveGuardStorageRoot(resolvePreferredWorkspaceCwd(hints));
49
+ }
50
+ /** Persist the active workspace so MCP guard can align tickets with hook cwd. */
51
+ export function rememberActiveWorkspace(hints) {
52
+ const preferred = pickWorkspaceHint(hints);
53
+ if (!preferred)
54
+ return;
55
+ const root = resolveGuardStorageRoot(preferred);
56
+ if (isGlobalHomePraxisMarker(root))
57
+ return;
58
+ writeActiveWorkspaceSession(root);
59
+ }
35
60
  const migratedRoots = new Set();
36
61
  /**
37
62
  * One-shot, best-effort migration of `<root>/.cursor/guard` -> `<root>/.praxis/guard`.
@@ -68,4 +93,5 @@ export function guardStorageDir(preferredCwd) {
68
93
  export function guardSubpath(segment, preferredCwd) {
69
94
  return path.join(guardStorageDir(preferredCwd), segment);
70
95
  }
96
+ export { resolvePreferredWorkspaceCwd } from "./guard-workspace-session.js";
71
97
  //# sourceMappingURL=guard-storage-root.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"guard-storage-root.js","sourceRoot":"","sources":["../../src/bridge/guard-storage-root.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guard-storage-root.js","sourceRoot":"","sources":["../../src/bridge/guard-storage-root.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export type WorkspaceHints = {
2
+ cwd?: string | null;
3
+ workspaceRoot?: string | null;
4
+ workspaceRoots?: readonly string[] | null;
5
+ };
6
+ export declare function pickWorkspaceHint(hints?: WorkspaceHints): string | undefined;
7
+ /** Best cwd hint for workspace-scoped guard state (hooks, MCP guard, tickets). */
8
+ export declare function resolvePreferredWorkspaceCwd(hints?: WorkspaceHints): string | undefined;
9
+ /** Persist resolved workspace root for MCP guard when hooks omit cwd. */
10
+ export declare function writeActiveWorkspaceSession(workspaceRoot: string): void;
11
+ //# sourceMappingURL=guard-workspace-session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guard-workspace-session.d.ts","sourceRoot":"","sources":["../../src/bridge/guard-workspace-session.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,cAAc,GAAG;IAC3B,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;CAC3C,CAAC;AA4CF,wBAAgB,iBAAiB,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAE5E;AAED,kFAAkF;AAClF,wBAAgB,4BAA4B,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAEvF;AAED,yEAAyE;AACzE,wBAAgB,2BAA2B,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAavE"}
@@ -0,0 +1,66 @@
1
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
2
+ import os from "node:os";
3
+ import path from "node:path";
4
+ function activeWorkspaceFile() {
5
+ return path.join(os.homedir(), ".praxis", "guard", "active-workspace.json");
6
+ }
7
+ function pickExplicitWorkspaceHint(hints) {
8
+ const envRoot = process.env.PRAXIS_GUARD_WORKSPACE_ROOT?.trim();
9
+ if (envRoot)
10
+ return envRoot;
11
+ const cwd = hints?.cwd?.trim();
12
+ if (cwd)
13
+ return cwd;
14
+ const workspaceRoot = hints?.workspaceRoot?.trim();
15
+ if (workspaceRoot)
16
+ return workspaceRoot;
17
+ const roots = hints?.workspaceRoots;
18
+ if (Array.isArray(roots)) {
19
+ for (const root of roots) {
20
+ if (typeof root === "string" && root.trim())
21
+ return root.trim();
22
+ }
23
+ }
24
+ return undefined;
25
+ }
26
+ function readActiveWorkspaceFromSession() {
27
+ try {
28
+ const raw = readFileSync(activeWorkspaceFile(), "utf8");
29
+ const parsed = JSON.parse(raw);
30
+ if (typeof parsed.workspace_root !== "string" || !parsed.workspace_root.trim()) {
31
+ return undefined;
32
+ }
33
+ const root = path.resolve(parsed.workspace_root.trim());
34
+ if (!existsSync(root))
35
+ return undefined;
36
+ if (existsSync(path.join(root, ".git")) ||
37
+ existsSync(path.join(root, ".praxis")) ||
38
+ existsSync(path.join(root, ".cursor", "hooks.json"))) {
39
+ return root;
40
+ }
41
+ }
42
+ catch {
43
+ return undefined;
44
+ }
45
+ return undefined;
46
+ }
47
+ export function pickWorkspaceHint(hints) {
48
+ return pickExplicitWorkspaceHint(hints);
49
+ }
50
+ /** Best cwd hint for workspace-scoped guard state (hooks, MCP guard, tickets). */
51
+ export function resolvePreferredWorkspaceCwd(hints) {
52
+ return pickExplicitWorkspaceHint(hints) ?? readActiveWorkspaceFromSession();
53
+ }
54
+ /** Persist resolved workspace root for MCP guard when hooks omit cwd. */
55
+ export function writeActiveWorkspaceSession(workspaceRoot) {
56
+ try {
57
+ const sessionFile = activeWorkspaceFile();
58
+ mkdirSync(path.dirname(sessionFile), { recursive: true });
59
+ writeFileSync(sessionFile, `${JSON.stringify({ workspace_root: workspaceRoot, updated_at: new Date().toISOString() }, null, 2)}\n`, "utf8");
60
+ }
61
+ catch (e) {
62
+ const msg = e instanceof Error ? e.message : String(e);
63
+ process.stderr.write(`[auditor] active workspace cache skipped (${msg})\n`);
64
+ }
65
+ }
66
+ //# sourceMappingURL=guard-workspace-session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guard-workspace-session.js","sourceRoot":"","sources":["../../src/bridge/guard-workspace-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,SAAS,mBAAmB;IAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,uBAAuB,CAAC,CAAC;AAC9E,CAAC;AAQD,SAAS,yBAAyB,CAAC,KAAsB;IACvD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,IAAI,EAAE,CAAC;IAChE,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC;IAE5B,MAAM,GAAG,GAAG,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IAC/B,IAAI,GAAG;QAAE,OAAO,GAAG,CAAC;IAEpB,MAAM,aAAa,GAAG,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;IACnD,IAAI,aAAa;QAAE,OAAO,aAAa,CAAC;IAExC,MAAM,KAAK,GAAG,KAAK,EAAE,cAAc,CAAC;IACpC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE;gBAAE,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;QAClE,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,8BAA8B;IACrC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,mBAAmB,EAAE,EAAE,MAAM,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAiC,CAAC;QAC/D,IAAI,OAAO,MAAM,CAAC,cAAc,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC;YAC/E,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,SAAS,CAAC;QACxC,IACE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACnC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACtC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,EACpD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAsB;IACtD,OAAO,yBAAyB,CAAC,KAAK,CAAC,CAAC;AAC1C,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,4BAA4B,CAAC,KAAsB;IACjE,OAAO,yBAAyB,CAAC,KAAK,CAAC,IAAI,8BAA8B,EAAE,CAAC;AAC9E,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,2BAA2B,CAAC,aAAqB;IAC/D,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,mBAAmB,EAAE,CAAC;QAC1C,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,aAAa,CACX,WAAW,EACX,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EACvG,MAAM,CACP,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,6CAA6C,GAAG,KAAK,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"hooks-config.d.ts","sourceRoot":"","sources":["../../../src/cli/cursor-config/hooks-config.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAWhF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAYjE;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAY1E;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,WAAW,CAAC,CAiE1F;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAErE;AAED,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAClE,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;CACd,CAAC,CAMD;AAED,wBAAsB,yBAAyB,IAAI,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,OAAO,CAAA;CAAE,CAAC,CAE3F;AAED,wBAAsB,0BAA0B,CAC9C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,OAAO,CAAA;CAAE,CAAC,CAE3C;AAED,gEAAgE;AAChE,wBAAsB,kBAAkB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAG/E;AAED,gEAAgE;AAChE,wBAAsB,2BAA2B,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGxF;AAED,wBAAsB,2BAA2B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAS5F"}
1
+ {"version":3,"file":"hooks-config.d.ts","sourceRoot":"","sources":["../../../src/cli/cursor-config/hooks-config.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AA0BhF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAajE;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAa1E;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,WAAW,CAAC,CA0E1F;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAErE;AAED,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAClE,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;CACd,CAAC,CAMD;AAED,wBAAsB,yBAAyB,IAAI,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,OAAO,CAAA;CAAE,CAAC,CAE3F;AAED,wBAAsB,0BAA0B,CAC9C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,OAAO,CAAA;CAAE,CAAC,CAE3C;AAED,gEAAgE;AAChE,wBAAsB,kBAAkB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAG/E;AAED,gEAAgE;AAChE,wBAAsB,2BAA2B,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGxF;AAED,wBAAsB,2BAA2B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAS5F"}
@@ -2,6 +2,18 @@ import { HOOK_COMMAND_MCP, HOOK_COMMAND_SHELL } from "./constants.js";
2
2
  import { isLegacyMcpHookCommand, isLegacyShellHookCommand } from "./legacy-guard-mcp.js";
3
3
  import { cloneJsonMap, readJson, writeJson } from "./json-io.js";
4
4
  import { resolveProjectHooksPath, resolveHooksConfigPath, resolveUserHooksPath, } from "./paths.js";
5
+ import { guardHookBinaryPath } from "../../daemon/paths.js";
6
+ function hookCommands(nativeHooks = false) {
7
+ if (!nativeHooks)
8
+ return { shell: HOOK_COMMAND_SHELL, mcp: HOOK_COMMAND_MCP };
9
+ const binary = JSON.stringify(guardHookBinaryPath());
10
+ return { shell: `${binary} before-shell`, mcp: `${binary} before-mcp` };
11
+ }
12
+ function isNativeHookCommand(command, hook) {
13
+ return (typeof command === "string" &&
14
+ (command.endsWith(`praxis-guard-hook\" ${hook}`) ||
15
+ command.endsWith(`praxis-guard-hook ${hook}`)));
16
+ }
5
17
  function normalizeHooksConfig(existing) {
6
18
  const base = existing ?? { version: 1, hooks: {} };
7
19
  if (typeof base.version !== "number")
@@ -20,7 +32,8 @@ export function hasConfiguredHook(config) {
20
32
  return false;
21
33
  return arr.some((entry) => entry &&
22
34
  typeof entry === "object" &&
23
- entry.command === HOOK_COMMAND_SHELL &&
35
+ (entry.command === HOOK_COMMAND_SHELL ||
36
+ isNativeHookCommand(entry.command, "before-shell")) &&
24
37
  entry.failClosed === true);
25
38
  }
26
39
  export function hasConfiguredBeforeMcpHook(config) {
@@ -32,7 +45,8 @@ export function hasConfiguredBeforeMcpHook(config) {
32
45
  return false;
33
46
  return arr.some((entry) => entry &&
34
47
  typeof entry === "object" &&
35
- entry.command === HOOK_COMMAND_MCP &&
48
+ (entry.command === HOOK_COMMAND_MCP ||
49
+ isNativeHookCommand(entry.command, "before-mcp")) &&
36
50
  entry.failClosed === true);
37
51
  }
38
52
  export async function upsertHookConfig(opts) {
@@ -42,6 +56,7 @@ export async function upsertHookConfig(opts) {
42
56
  const beforeJson = JSON.stringify(existing ?? {});
43
57
  const config = normalizeHooksConfig(cloneJsonMap(existing));
44
58
  const hooks = config.hooks;
59
+ const commands = hookCommands(opts.nativeHooks);
45
60
  const before = Array.isArray(hooks.beforeShellExecution) ? [...hooks.beforeShellExecution] : [];
46
61
  const rewritten = [];
47
62
  let found = false;
@@ -51,17 +66,19 @@ export async function upsertHookConfig(opts) {
51
66
  continue;
52
67
  }
53
68
  const map = item;
54
- if (map.command === HOOK_COMMAND_SHELL || isLegacyShellHookCommand(map.command)) {
69
+ if (map.command === HOOK_COMMAND_SHELL ||
70
+ isNativeHookCommand(map.command, "before-shell") ||
71
+ isLegacyShellHookCommand(map.command)) {
55
72
  if (!found) {
56
73
  found = true;
57
- rewritten.push({ ...map, command: HOOK_COMMAND_SHELL, failClosed: true });
74
+ rewritten.push({ ...map, command: commands.shell, failClosed: true });
58
75
  }
59
76
  continue;
60
77
  }
61
78
  rewritten.push(item);
62
79
  }
63
80
  if (!found)
64
- rewritten.push({ command: HOOK_COMMAND_SHELL, failClosed: true });
81
+ rewritten.push({ command: commands.shell, failClosed: true });
65
82
  hooks.beforeShellExecution = rewritten;
66
83
  const beforeMcp = Array.isArray(hooks.beforeMCPExecution) ? [...hooks.beforeMCPExecution] : [];
67
84
  const rewrittenMcp = [];
@@ -72,17 +89,19 @@ export async function upsertHookConfig(opts) {
72
89
  continue;
73
90
  }
74
91
  const map = item;
75
- if (map.command === HOOK_COMMAND_MCP || isLegacyMcpHookCommand(map.command)) {
92
+ if (map.command === HOOK_COMMAND_MCP ||
93
+ isNativeHookCommand(map.command, "before-mcp") ||
94
+ isLegacyMcpHookCommand(map.command)) {
76
95
  if (!foundMcp) {
77
96
  foundMcp = true;
78
- rewrittenMcp.push({ ...map, command: HOOK_COMMAND_MCP, failClosed: true });
97
+ rewrittenMcp.push({ ...map, command: commands.mcp, failClosed: true });
79
98
  }
80
99
  continue;
81
100
  }
82
101
  rewrittenMcp.push(item);
83
102
  }
84
103
  if (!foundMcp)
85
- rewrittenMcp.push({ command: HOOK_COMMAND_MCP, failClosed: true });
104
+ rewrittenMcp.push({ command: commands.mcp, failClosed: true });
86
105
  hooks.beforeMCPExecution = rewrittenMcp;
87
106
  const changed = beforeJson !== JSON.stringify(config);
88
107
  if (changed && !dryRun) {
@@ -1 +1 @@
1
- {"version":3,"file":"hooks-config.js","sourceRoot":"","sources":["../../../src/cli/cursor-config/hooks-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks-config.js","sourceRoot":"","sources":["../../../src/cli/cursor-config/hooks-config.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { JsonMap, SetupResult } from "./types.js";
2
2
  export declare function hasConfiguredMcpServer(config: JsonMap | null): boolean;
3
- export declare function upsertMcpConfig(explicitPath?: string, dryRun?: boolean): Promise<SetupResult>;
3
+ export declare function upsertMcpConfig(explicitPath?: string, dryRun?: boolean, nativeDaemon?: boolean): Promise<SetupResult>;
4
4
  export declare function readMcpConfigured(explicitPath?: string): Promise<boolean>;
5
5
  //# sourceMappingURL=mcp-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-config.d.ts","sourceRoot":"","sources":["../../../src/cli/cursor-config/mcp-config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEvD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAQtE;AAWD,wBAAsB,eAAe,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,MAAM,UAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,CAiCjG;AAED,wBAAsB,iBAAiB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAG/E"}
1
+ {"version":3,"file":"mcp-config.d.ts","sourceRoot":"","sources":["../../../src/cli/cursor-config/mcp-config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEvD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAQtE;AAcD,wBAAsB,eAAe,CACnC,YAAY,CAAC,EAAE,MAAM,EACrB,MAAM,UAAQ,EACd,YAAY,UAAQ,GACnB,OAAO,CAAC,WAAW,CAAC,CAoCtB;AAED,wBAAsB,iBAAiB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAG/E"}
@@ -13,14 +13,19 @@ export function hasConfiguredMcpServer(config) {
13
13
  const args = map.args;
14
14
  return map.command === "auditor" && Array.isArray(args) && args.length === 1 && args[0] === "mcp";
15
15
  }
16
- function ensurePraxisGuardEntry(current) {
16
+ function ensurePraxisGuardEntry(current, nativeDaemon = false) {
17
17
  const base = current ?? {};
18
18
  const existingEnv = base.env && typeof base.env === "object" && !Array.isArray(base.env)
19
19
  ? base.env
20
20
  : {};
21
- return { ...base, command: "auditor", args: ["mcp"], env: { ...existingEnv, PRAXIS_AGENT_HOST: CURSOR_AGENT_HOST } };
21
+ const env = { ...existingEnv, PRAXIS_AGENT_HOST: CURSOR_AGENT_HOST };
22
+ if (nativeDaemon)
23
+ env.PRAXIS_GUARD_DAEMON = "1";
24
+ else
25
+ delete env.PRAXIS_GUARD_DAEMON;
26
+ return { ...base, command: "auditor", args: ["mcp"], env };
22
27
  }
23
- export async function upsertMcpConfig(explicitPath, dryRun = false) {
28
+ export async function upsertMcpConfig(explicitPath, dryRun = false, nativeDaemon = false) {
24
29
  const mcpPath = resolveUserMcpConfigPath(explicitPath);
25
30
  const existing = await readJson(mcpPath);
26
31
  const beforeJson = JSON.stringify(existing ?? {});
@@ -32,11 +37,11 @@ export async function upsertMcpConfig(explicitPath, dryRun = false) {
32
37
  for (const [key, server] of Object.entries(servers)) {
33
38
  if (key === MCP_SERVER_KEY || isLegacyPraxisGuardMcpServer(server)) {
34
39
  const current = server && typeof server === "object" ? server : undefined;
35
- servers[key === MCP_SERVER_KEY ? MCP_SERVER_KEY : key] = ensurePraxisGuardEntry(current);
40
+ servers[key === MCP_SERVER_KEY ? MCP_SERVER_KEY : key] = ensurePraxisGuardEntry(current, nativeDaemon);
36
41
  }
37
42
  }
38
43
  if (!servers[MCP_SERVER_KEY]) {
39
- servers[MCP_SERVER_KEY] = ensurePraxisGuardEntry(undefined);
44
+ servers[MCP_SERVER_KEY] = ensurePraxisGuardEntry(undefined, nativeDaemon);
40
45
  }
41
46
  const changed = beforeJson !== JSON.stringify(config);
42
47
  if (changed && !dryRun) {
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-config.js","sourceRoot":"","sources":["../../../src/cli/cursor-config/mcp-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-config.js","sourceRoot":"","sources":["../../../src/cli/cursor-config/mcp-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAGtD,MAAM,UAAU,sBAAsB,CAAC,MAAsB;IAC3D,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAY,CAAC;IACrD,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACxD,MAAM,GAAG,GAAG,MAAiB,CAAC;IAC9B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IACtB,OAAO,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC;AACpG,CAAC;AAED,SAAS,sBAAsB,CAAC,OAA4B,EAAE,YAAY,GAAG,KAAK;IAChF,MAAM,IAAI,GAAG,OAAO,IAAI,EAAE,CAAC;IAC3B,MAAM,WAAW,GACf,IAAI,CAAC,GAAG,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;QAClE,CAAC,CAAE,IAAI,CAAC,GAAe;QACvB,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,GAAG,GAAY,EAAE,GAAG,WAAW,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;IAC9E,IAAI,YAAY;QAAE,GAAG,CAAC,mBAAmB,GAAG,GAAG,CAAC;;QAC3C,OAAO,GAAG,CAAC,mBAAmB,CAAC;IACpC,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;AAC7D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,YAAqB,EACrB,MAAM,GAAG,KAAK,EACd,YAAY,GAAG,KAAK;IAEpB,MAAM,OAAO,GAAG,wBAAwB,CAAC,YAAY,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QACpG,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;IACzB,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,UAAqB,CAAC;IAC7C,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACpD,IAAI,GAAG,KAAK,cAAc,IAAI,4BAA4B,CAAC,MAAM,CAAC,EAAE,CAAC;YACnE,MAAM,OAAO,GAAG,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAE,MAAkB,CAAC,CAAC,CAAC,SAAS,CAAC;YACvF,OAAO,CAAC,GAAG,KAAK,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,sBAAsB,CAC7E,OAAO,EACP,YAAY,CACb,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,cAAc,CAAC,GAAG,sBAAsB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,OAAO,GAAG,UAAU,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACtD,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,OAAO;QACL,IAAI,EAAE,OAAO;QACb,OAAO;QACP,OAAO,EAAE,OAAO;YACd,CAAC,CAAC,MAAM;gBACN,CAAC,CAAC,yBAAyB;gBAC3B,CAAC,CAAC,oBAAoB;YACxB,CAAC,CAAC,+BAA+B;KACpC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,YAAqB;IAC3D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,wBAAwB,CAAC,YAAY,CAAC,CAAC,CAAC;IACtE,OAAO,sBAAsB,CAAC,MAAM,CAAC,CAAC;AACxC,CAAC"}
@@ -10,5 +10,6 @@ export type UpsertHookConfigOptions = {
10
10
  projectDir?: string;
11
11
  explicitPath?: string;
12
12
  dryRun?: boolean;
13
+ nativeHooks?: boolean;
13
14
  };
14
15
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/cli/cursor-config/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE9C,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEnD,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,eAAe,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/cli/cursor-config/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE9C,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEnD,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,eAAe,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function runDaemonCommand(args: string[]): Promise<void>;
2
+ //# sourceMappingURL=daemon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/cli/daemon.ts"],"names":[],"mappings":"AAMA,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BpE"}
@@ -0,0 +1,35 @@
1
+ import process from "node:process";
2
+ import { daemonStatus, startDaemon, stopDaemon } from "../daemon/lifecycle.js";
3
+ import { guardDaemonBinaryPath } from "../daemon/paths.js";
4
+ import { installDaemonService, uninstallDaemonService } from "../daemon/service.js";
5
+ export async function runDaemonCommand(args) {
6
+ const command = args[0] ?? "status";
7
+ if (command === "start") {
8
+ await startDaemon();
9
+ process.stdout.write("Praxis Guard daemon started.\n");
10
+ return;
11
+ }
12
+ if (command === "stop") {
13
+ await stopDaemon();
14
+ process.stdout.write("Praxis Guard daemon stopped.\n");
15
+ return;
16
+ }
17
+ if (command === "status") {
18
+ process.stdout.write(`${JSON.stringify(await daemonStatus(), null, 2)}\n`);
19
+ return;
20
+ }
21
+ if (command === "path") {
22
+ process.stdout.write(`${guardDaemonBinaryPath()}\n`);
23
+ return;
24
+ }
25
+ if (command === "install") {
26
+ process.stdout.write(`Installed daemon service at ${await installDaemonService()}\n`);
27
+ return;
28
+ }
29
+ if (command === "uninstall") {
30
+ process.stdout.write(`Removed daemon service at ${await uninstallDaemonService()}\n`);
31
+ return;
32
+ }
33
+ throw new Error(`Unknown daemon command: ${command}`);
34
+ }
35
+ //# sourceMappingURL=daemon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/cli/daemon.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAEpF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAc;IACnD,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC;IACpC,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,MAAM,WAAW,EAAE,CAAC;QACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACvD,OAAO;IACT,CAAC;IACD,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,MAAM,UAAU,EAAE,CAAC;QACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACvD,OAAO;IACT,CAAC;IACD,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3E,OAAO;IACT,CAAC;IACD,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,qBAAqB,EAAE,IAAI,CAAC,CAAC;QACrD,OAAO;IACT,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,MAAM,oBAAoB,EAAE,IAAI,CAAC,CAAC;QACtF,OAAO;IACT,CAAC;IACD,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,MAAM,sBAAsB,EAAE,IAAI,CAAC,CAAC;QACtF,OAAO;IACT,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,2BAA2B,OAAO,EAAE,CAAC,CAAC;AACxD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AA8DA,wBAAgB,SAAS,IAAI,IAAI,CAEhC"}
1
+ {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAwEA,wBAAgB,SAAS,IAAI,IAAI,CAEhC"}
package/dist/cli/help.js CHANGED
@@ -2,9 +2,9 @@ import process from "node:process";
2
2
  const HELP_TEXT = `auditor — Praxis guard CLI
3
3
 
4
4
  Usage:
5
- auditor setup all Configure all detected agents (use --for=<agent>; includes Copilot CLI)
6
- auditor setup hook Configure hook settings (Cursor global by default; Codex is repo-local)
7
- auditor setup mcp Configure MCP settings (Cursor global by default; Codex uses --project/cwd)
5
+ auditor setup all Configure all detected agents (use --native-hooks --for=cursor for Go shim)
6
+ auditor setup hook Configure hooks (--native-hooks currently supports Cursor)
7
+ auditor setup mcp Configure MCP (--native-daemon currently supports Cursor)
8
8
  auditor setup cloud Configure .cursor/environment.json for Cloud Agents
9
9
  auditor setup doctor Validate configured agent setup, including project-local Codex
10
10
  auditor setup codex Configure repo-local .codex MCP + hooks (--project, --dry-run)
@@ -16,6 +16,12 @@ Usage:
16
16
  auditor token create Generate a new bearer token (for Cloud Agents, CI, etc.)
17
17
  auditor whoami Show signed-in uid, email, and token source (calls Cloud Function)
18
18
  auditor mcp MCP stdio server (tools: guard, guard_wait) — use in Cursor mcp.json
19
+ auditor daemon start Start the native Praxis Guard daemon
20
+ auditor daemon stop Stop the native Praxis Guard daemon
21
+ auditor daemon status Show daemon health and protocol version
22
+ auditor daemon path Print the expected native daemon binary path
23
+ auditor daemon install Install and start a launchd/systemd user service
24
+ auditor daemon uninstall Stop and remove the launchd/systemd user service
19
25
  auditor approvals list List pending approval requests
20
26
  auditor approvals open <id> Print approval URL for a request
21
27
  auditor approvals approve <id> Dev-only: approve request (GUARD_APPROVAL_DEV=1)
@@ -55,6 +61,10 @@ Env (all optional):
55
61
  PRAXIS_POLICIES_V1_PATH Override path for policies.v1.json (default: ~/.praxis/policies.v1.json).
56
62
  PRAXIS_POLICIES_META_PATH Override path for policies.v1.meta.json (default beside policy file).
57
63
  PRAXIS_GUARD_STORAGE_ROOT Workspace root for .praxis/guard tickets/pending (auto-detected from cwd).
64
+ PRAXIS_GUARD_DAEMON Set to 1 to delegate MCP policy evaluation to the native daemon.
65
+ PRAXIS_GUARD_SOCKET Override the daemon Unix socket path.
66
+ PRAXIS_GUARD_DAEMON_BINARY Override the praxis-guard-daemon binary path.
67
+ PRAXIS_GUARD_HOOK_BINARY Override the praxis-guard-hook binary path.
58
68
  PRAXIS_HOOK_INLINE_APPROVAL Set to 0 to disable hook-inline approval request on MUTATE deny (default: on).
59
69
  PRAXIS_HOOK_INLINE_APPROVAL_TIMEOUT_MS Max ms for inline approval HTTP from hooks (default: 1200).
60
70
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DjB,CAAC;AAEF,MAAM,UAAU,SAAS;IACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoEjB,CAAC;AAEF,MAAM,UAAU,SAAS;IACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"AAQA,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuH1D"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"AAQA,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAmI1D"}
package/dist/cli/main.js CHANGED
@@ -101,6 +101,18 @@ export async function runCli(argv) {
101
101
  await runMcpStdioServer();
102
102
  return;
103
103
  }
104
+ if (a0 === "daemon") {
105
+ const { runDaemonCommand } = await import("./daemon.js");
106
+ try {
107
+ await runDaemonCommand(argv.slice(1));
108
+ }
109
+ catch (e) {
110
+ const msg = e instanceof Error ? e.message : String(e);
111
+ process.stderr.write(`${msg}\n`);
112
+ process.exitCode = 1;
113
+ }
114
+ return;
115
+ }
104
116
  if (a0 === "hook" && (await dispatchHookCommand(a1)))
105
117
  return;
106
118
  if (a0 === "approvals") {