@praxis.guard/auditor-cli 0.0.44 → 0.0.46
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 +21 -0
- package/dist/adapters/claude-code/adapter.d.ts +28 -0
- package/dist/adapters/claude-code/adapter.d.ts.map +1 -0
- package/dist/adapters/claude-code/adapter.js +141 -0
- package/dist/adapters/claude-code/adapter.js.map +1 -0
- package/dist/adapters/claude-code/config-detect.d.ts +4 -0
- package/dist/adapters/claude-code/config-detect.d.ts.map +1 -0
- package/dist/adapters/claude-code/config-detect.js +44 -0
- package/dist/adapters/claude-code/config-detect.js.map +1 -0
- package/dist/adapters/claude-code/config-io.d.ts +8 -0
- package/dist/adapters/claude-code/config-io.d.ts.map +1 -0
- package/dist/adapters/claude-code/config-io.js +41 -0
- package/dist/adapters/claude-code/config-io.js.map +1 -0
- package/dist/adapters/claude-code/index.d.ts +3 -0
- package/dist/adapters/claude-code/index.d.ts.map +1 -0
- package/dist/adapters/claude-code/index.js +3 -0
- package/dist/adapters/claude-code/index.js.map +1 -0
- package/dist/adapters/claude-code/paths.d.ts +17 -0
- package/dist/adapters/claude-code/paths.d.ts.map +1 -0
- package/dist/adapters/claude-code/paths.js +32 -0
- package/dist/adapters/claude-code/paths.js.map +1 -0
- package/dist/adapters/claude-code.d.ts +1 -33
- package/dist/adapters/claude-code.d.ts.map +1 -1
- package/dist/adapters/claude-code.js +1 -246
- package/dist/adapters/claude-code.js.map +1 -1
- package/dist/adapters/codex.d.ts +11 -0
- package/dist/adapters/codex.d.ts.map +1 -0
- package/dist/adapters/codex.js +52 -0
- package/dist/adapters/codex.js.map +1 -0
- package/dist/adapters/registry.d.ts.map +1 -1
- package/dist/adapters/registry.js +2 -0
- package/dist/adapters/registry.js.map +1 -1
- package/dist/adapters/select-targets.js +3 -3
- package/dist/adapters/select-targets.js.map +1 -1
- package/dist/adapters/types.d.ts +9 -2
- package/dist/adapters/types.d.ts.map +1 -1
- package/dist/bridge/execution-ticket-consume.d.ts +12 -0
- package/dist/bridge/execution-ticket-consume.d.ts.map +1 -0
- package/dist/bridge/execution-ticket-consume.js +105 -0
- package/dist/bridge/execution-ticket-consume.js.map +1 -0
- package/dist/bridge/execution-ticket-match.d.ts +4 -0
- package/dist/bridge/execution-ticket-match.d.ts.map +1 -0
- package/dist/bridge/execution-ticket-match.js +40 -0
- package/dist/bridge/execution-ticket-match.js.map +1 -0
- package/dist/bridge/execution-ticket-record.d.ts +14 -0
- package/dist/bridge/execution-ticket-record.d.ts.map +1 -0
- package/dist/bridge/execution-ticket-record.js +51 -0
- package/dist/bridge/execution-ticket-record.js.map +1 -0
- package/dist/bridge/execution-ticket.d.ts +2 -23
- package/dist/bridge/execution-ticket.d.ts.map +1 -1
- package/dist/bridge/execution-ticket.js +2 -179
- package/dist/bridge/execution-ticket.js.map +1 -1
- package/dist/cli/dispatch-hook.d.ts +2 -0
- package/dist/cli/dispatch-hook.d.ts.map +1 -0
- package/dist/cli/dispatch-hook.js +29 -0
- package/dist/cli/dispatch-hook.js.map +1 -0
- package/dist/cli/dispatch-setup.d.ts +2 -0
- package/dist/cli/dispatch-setup.d.ts.map +1 -0
- package/dist/cli/dispatch-setup.js +34 -0
- package/dist/cli/dispatch-setup.js.map +1 -0
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +17 -13
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/help.d.ts +2 -0
- package/dist/cli/help.d.ts.map +1 -0
- package/dist/cli/help.js +61 -0
- package/dist/cli/help.js.map +1 -0
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +6 -96
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/setup-all.d.ts.map +1 -1
- package/dist/cli/setup-all.js +6 -2
- package/dist/cli/setup-all.js.map +1 -1
- package/dist/cli/setup-codex.d.ts +9 -0
- package/dist/cli/setup-codex.d.ts.map +1 -0
- package/dist/cli/setup-codex.js +61 -0
- package/dist/cli/setup-codex.js.map +1 -0
- package/dist/cli/setup-doctor.d.ts.map +1 -1
- package/dist/cli/setup-doctor.js +22 -7
- package/dist/cli/setup-doctor.js.map +1 -1
- package/dist/cli/setup-mcp.d.ts +1 -0
- package/dist/cli/setup-mcp.d.ts.map +1 -1
- package/dist/cli/setup-mcp.js +15 -2
- package/dist/cli/setup-mcp.js.map +1 -1
- package/dist/codex/config.d.ts +23 -0
- package/dist/codex/config.d.ts.map +1 -0
- package/dist/codex/config.js +177 -0
- package/dist/codex/config.js.map +1 -0
- package/dist/codex/evaluate-tool-audit.d.ts +29 -0
- package/dist/codex/evaluate-tool-audit.d.ts.map +1 -0
- package/dist/codex/evaluate-tool-audit.js +58 -0
- package/dist/codex/evaluate-tool-audit.js.map +1 -0
- package/dist/codex/evaluate-tool-bash.d.ts +3 -0
- package/dist/codex/evaluate-tool-bash.d.ts.map +1 -0
- package/dist/codex/evaluate-tool-bash.js +50 -0
- package/dist/codex/evaluate-tool-bash.js.map +1 -0
- package/dist/codex/evaluate-tool-mcp.d.ts +3 -0
- package/dist/codex/evaluate-tool-mcp.d.ts.map +1 -0
- package/dist/codex/evaluate-tool-mcp.js +55 -0
- package/dist/codex/evaluate-tool-mcp.js.map +1 -0
- package/dist/codex/evaluate-tool-types.d.ts +27 -0
- package/dist/codex/evaluate-tool-types.d.ts.map +1 -0
- package/dist/codex/evaluate-tool-types.js +15 -0
- package/dist/codex/evaluate-tool-types.js.map +1 -0
- package/dist/codex/evaluate-tool.d.ts +5 -0
- package/dist/codex/evaluate-tool.d.ts.map +1 -0
- package/dist/codex/evaluate-tool.js +19 -0
- package/dist/codex/evaluate-tool.js.map +1 -0
- package/dist/codex/permission-handoff.d.ts +13 -0
- package/dist/codex/permission-handoff.d.ts.map +1 -0
- package/dist/codex/permission-handoff.js +36 -0
- package/dist/codex/permission-handoff.js.map +1 -0
- package/dist/hooks/run-codex-hooks.d.ts +3 -0
- package/dist/hooks/run-codex-hooks.d.ts.map +1 -0
- package/dist/hooks/run-codex-hooks.js +77 -0
- package/dist/hooks/run-codex-hooks.js.map +1 -0
- package/dist/policy/classify.d.ts +9 -0
- package/dist/policy/classify.d.ts.map +1 -0
- package/dist/policy/classify.js +97 -0
- package/dist/policy/classify.js.map +1 -0
- package/dist/policy/index.d.ts +5 -54
- package/dist/policy/index.d.ts.map +1 -1
- package/dist/policy/index.js +4 -213
- package/dist/policy/index.js.map +1 -1
- package/dist/policy/load.d.ts +8 -0
- package/dist/policy/load.d.ts.map +1 -0
- package/dist/policy/load.js +52 -0
- package/dist/policy/load.js.map +1 -0
- package/dist/policy/paths.d.ts +9 -0
- package/dist/policy/paths.d.ts.map +1 -0
- package/dist/policy/paths.js +42 -0
- package/dist/policy/paths.js.map +1 -0
- package/dist/policy/schema.d.ts +35 -0
- package/dist/policy/schema.d.ts.map +1 -0
- package/dist/policy/schema.js +30 -0
- package/dist/policy/schema.js.map +1 -0
- package/dist/telemetry/agent-host.d.ts +1 -1
- package/dist/telemetry/agent-host.d.ts.map +1 -1
- package/dist/telemetry/agent-host.js +7 -1
- package/dist/telemetry/agent-host.js.map +1 -1
- package/package.json +1 -1
package/dist/cli/main.js
CHANGED
|
@@ -1,63 +1,9 @@
|
|
|
1
1
|
import process from "node:process";
|
|
2
2
|
import { runDoctor } from "./doctor.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import { dispatchHookCommand } from "./dispatch-hook.js";
|
|
4
|
+
import { dispatchSetupCommand } from "./dispatch-setup.js";
|
|
5
|
+
import { printHelp } from "./help.js";
|
|
6
6
|
import { runVersion } from "./version.js";
|
|
7
|
-
function printHelp() {
|
|
8
|
-
process.stdout.write(`auditor — Praxis guard CLI
|
|
9
|
-
|
|
10
|
-
Usage:
|
|
11
|
-
auditor setup all Global hook + MCP; cloud environment.json in cwd (or --project)
|
|
12
|
-
auditor setup hook Configure ~/.cursor/hooks.json (all workspaces; use --project for repo)
|
|
13
|
-
auditor setup mcp Configure ~/.cursor/mcp.json praxis-guard server
|
|
14
|
-
auditor setup cloud Configure .cursor/environment.json for Cloud Agents
|
|
15
|
-
auditor setup doctor Validate global hook + MCP setup (reports project hooks too)
|
|
16
|
-
auditor login Authenticate this CLI with your Praxis account (device code flow)
|
|
17
|
-
auditor logout [--revoke] Remove saved credentials (and optionally revoke token server-side)
|
|
18
|
-
auditor token create Generate a new bearer token (for Cloud Agents, CI, etc.)
|
|
19
|
-
auditor whoami Show signed-in uid, email, and token source (calls Cloud Function)
|
|
20
|
-
auditor mcp MCP stdio server (tools: guard, guard_wait) — use in Cursor mcp.json
|
|
21
|
-
auditor approvals list List pending approval requests
|
|
22
|
-
auditor approvals open <id> Print approval URL for a request
|
|
23
|
-
auditor approvals approve <id> Dev-only: approve request (GUARD_APPROVAL_DEV=1)
|
|
24
|
-
auditor approvals deny <id> Deny an approval request (human auth or dev)
|
|
25
|
-
auditor approvals watch <id> Poll until approved and write execution ticket
|
|
26
|
-
auditor hook before-shell Cursor beforeShellExecution (stdin JSON → stdout JSON)
|
|
27
|
-
auditor hook before-mcp Cursor beforeMCPExecution (stdin JSON → stdout JSON)
|
|
28
|
-
auditor hook claude-code Claude Code PreToolUse/Bash (stdin JSON → stdout JSON)
|
|
29
|
-
auditor doctor Show policy path, sync revision, auth status
|
|
30
|
-
auditor policies sync Fetch policies from Cloud Functions → local policies.v1.json + meta
|
|
31
|
-
auditor version Package version and git short SHA when available
|
|
32
|
-
auditor help | --help This message
|
|
33
|
-
|
|
34
|
-
Auth:
|
|
35
|
-
Token is resolved in order: PRAXIS_GUARD_TOKEN env var → ~/.config/praxis/credentials.json.
|
|
36
|
-
Run \`auditor login\` to authenticate interactively.
|
|
37
|
-
|
|
38
|
-
Defaults (production):
|
|
39
|
-
Project ID and region use built-in Praxis production values unless overridden below.
|
|
40
|
-
Function URLs are derived from project/region or explicit base-url env vars.
|
|
41
|
-
|
|
42
|
-
Local development:
|
|
43
|
-
Set PRAXIS_FIREBASE_FUNCTIONS_EMULATOR_HOST to your Functions emulator host:port.
|
|
44
|
-
|
|
45
|
-
Env (all optional):
|
|
46
|
-
PRAXIS_GUARD_TOKEN Override token (CI/CD). Skips credential file.
|
|
47
|
-
PRAXIS_FIREBASE_ID_TOKEN Alternative: Firebase Auth ID JWT for the functions project.
|
|
48
|
-
PRAXIS_FIREBASE_FUNCTIONS_EMULATOR_HOST Functions emulator host:port (local dev).
|
|
49
|
-
PRAXIS_FIREBASE_PROJECT_ID Override Firebase project id.
|
|
50
|
-
PRAXIS_FIREBASE_FUNCTIONS_REGION Override Functions region.
|
|
51
|
-
PRAXIS_FIREBASE_CALLABLE_BASE_URL Full override base URL (no trailing slash).
|
|
52
|
-
PRAXIS_GUARD_EVENT_URL Full override for guard event endpoint.
|
|
53
|
-
PRAXIS_APP_URL Web app origin for login and approval links.
|
|
54
|
-
PRAXIS_POLICIES_V1_PATH Override path for policies.v1.json (default: ~/.praxis/policies.v1.json).
|
|
55
|
-
PRAXIS_POLICIES_META_PATH Override path for policies.v1.meta.json (default beside policy file).
|
|
56
|
-
PRAXIS_GUARD_STORAGE_ROOT Workspace root for .praxis/guard tickets/pending (auto-detected from cwd).
|
|
57
|
-
PRAXIS_HOOK_INLINE_APPROVAL Set to 0 to disable hook-inline approval request on MUTATE deny (default: on).
|
|
58
|
-
PRAXIS_HOOK_INLINE_APPROVAL_TIMEOUT_MS Max ms for inline approval HTTP from hooks (default: 1200).
|
|
59
|
-
`);
|
|
60
|
-
}
|
|
61
7
|
export async function runCli(argv) {
|
|
62
8
|
const a0 = argv[0];
|
|
63
9
|
const a1 = argv[1];
|
|
@@ -90,35 +36,9 @@ export async function runCli(argv) {
|
|
|
90
36
|
return;
|
|
91
37
|
}
|
|
92
38
|
if (a0 === "setup") {
|
|
93
|
-
const sub = a1;
|
|
94
|
-
const rest = argv.slice(2);
|
|
95
39
|
try {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
await runSetupAll(rest);
|
|
99
|
-
return;
|
|
100
|
-
}
|
|
101
|
-
if (sub === "hook") {
|
|
102
|
-
const { runSetupHook } = await import("./setup-hook.js");
|
|
103
|
-
await runSetupHook(rest);
|
|
104
|
-
return;
|
|
105
|
-
}
|
|
106
|
-
if (sub === "mcp") {
|
|
107
|
-
const { runSetupMcp } = await import("./setup-mcp.js");
|
|
108
|
-
await runSetupMcp(rest);
|
|
109
|
-
return;
|
|
110
|
-
}
|
|
111
|
-
if (sub === "cloud") {
|
|
112
|
-
const { runSetupCloud } = await import("./setup-cloud.js");
|
|
113
|
-
await runSetupCloud(rest);
|
|
114
|
-
return;
|
|
115
|
-
}
|
|
116
|
-
if (sub === "doctor") {
|
|
117
|
-
const { runSetupDoctor } = await import("./setup-doctor.js");
|
|
118
|
-
await runSetupDoctor(rest);
|
|
119
|
-
return;
|
|
120
|
-
}
|
|
121
|
-
throw new Error(`Unknown setup command: ${sub ?? "(missing)"}`);
|
|
40
|
+
await dispatchSetupCommand(a1, argv.slice(2));
|
|
41
|
+
return;
|
|
122
42
|
}
|
|
123
43
|
catch (e) {
|
|
124
44
|
const msg = e instanceof Error ? e.message : String(e);
|
|
@@ -176,18 +96,8 @@ export async function runCli(argv) {
|
|
|
176
96
|
await runMcpStdioServer();
|
|
177
97
|
return;
|
|
178
98
|
}
|
|
179
|
-
if (a0 === "hook" && a1
|
|
180
|
-
await runBeforeShellHookFromStdin();
|
|
181
|
-
return;
|
|
182
|
-
}
|
|
183
|
-
if (a0 === "hook" && a1 === "before-mcp") {
|
|
184
|
-
await runBeforeMcpHookFromStdin();
|
|
99
|
+
if (a0 === "hook" && (await dispatchHookCommand(a1)))
|
|
185
100
|
return;
|
|
186
|
-
}
|
|
187
|
-
if (a0 === "hook" && a1 === "claude-code") {
|
|
188
|
-
await runClaudeCodePreToolUseHookFromStdin();
|
|
189
|
-
return;
|
|
190
|
-
}
|
|
191
101
|
if (a0 === "approvals") {
|
|
192
102
|
const { runApprovals } = await import("./approvals.js");
|
|
193
103
|
try {
|
package/dist/cli/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-all.d.ts","sourceRoot":"","sources":["../../src/cli/setup-all.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAgB,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAE7E,KAAK,UAAU,GAAG;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,EAAE,CAAC;CACnB,CAAC;AAMF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAyC/D;
|
|
1
|
+
{"version":3,"file":"setup-all.d.ts","sourceRoot":"","sources":["../../src/cli/setup-all.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAgB,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAE7E,KAAK,UAAU,GAAG;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,EAAE,CAAC;CACnB,CAAC;AAMF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAyC/D;AA4BD,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ/D"}
|
package/dist/cli/setup-all.js
CHANGED
|
@@ -50,14 +50,18 @@ async function runForAdapter(adapter, opts) {
|
|
|
50
50
|
if (adapter.upsertHook) {
|
|
51
51
|
const hook = await adapter.upsertHook({
|
|
52
52
|
scope: opts.hookScope,
|
|
53
|
-
projectDir: opts.hookProjectDir,
|
|
53
|
+
projectDir: adapter.id === "codex" ? opts.projectDir : opts.hookProjectDir,
|
|
54
54
|
dryRun: opts.dryRun,
|
|
55
55
|
});
|
|
56
56
|
process.stdout.write(` hook: ${hook.message}\n`);
|
|
57
57
|
process.stdout.write(` path: ${hook.path}\n`);
|
|
58
58
|
}
|
|
59
59
|
const explicitMcp = adapter.id === "cursor" ? opts.userConfigPath : undefined;
|
|
60
|
-
const mcp = await adapter.upsertMcp({
|
|
60
|
+
const mcp = await adapter.upsertMcp({
|
|
61
|
+
explicitPath: explicitMcp,
|
|
62
|
+
projectDir: opts.projectDir,
|
|
63
|
+
dryRun: opts.dryRun,
|
|
64
|
+
});
|
|
61
65
|
process.stdout.write(` mcp: ${mcp.message}\n`);
|
|
62
66
|
process.stdout.write(` path: ${mcp.path}\n`);
|
|
63
67
|
if (adapter.upsertCloud) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-all.js","sourceRoot":"","sources":["../../src/cli/setup-all.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAYnF,SAAS,SAAS,CAAC,GAAW;IAC5B,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAc;IACjD,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,SAAS,GAAc,QAAQ,CAAC;IACpC,IAAI,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACnC,IAAI,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC/B,IAAI,cAAkC,CAAC;IACvC,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YACxB,MAAM,GAAG,IAAI,CAAC;YACd,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,gBAAgB,EAAE,CAAC;YAC7B,SAAS,GAAG,SAAS,CAAC;YACtB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1B,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/B,cAAc,GAAG,KAAK,CAAC;gBACvB,CAAC,EAAE,CAAC;YACN,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAC3D,UAAU,GAAG,KAAK,CAAC;YACnB,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,eAAe,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;YAC/D,cAAc,GAAG,KAAK,CAAC;YACvB,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACnF,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,OAAqB,EAAE,IAAgB;IAClE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;IAC3C,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC;YACpC,KAAK,EAAE,IAAI,CAAC,SAAS;YACrB,UAAU,EAAE,IAAI,CAAC,cAAc;
|
|
1
|
+
{"version":3,"file":"setup-all.js","sourceRoot":"","sources":["../../src/cli/setup-all.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
type CodexSetupOptions = {
|
|
2
|
+
projectDir: string;
|
|
3
|
+
dryRun: boolean;
|
|
4
|
+
doctor: boolean;
|
|
5
|
+
};
|
|
6
|
+
export declare function parseSetupCodexOptions(args: string[]): CodexSetupOptions;
|
|
7
|
+
export declare function runSetupCodex(args: string[]): Promise<void>;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=setup-codex.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-codex.d.ts","sourceRoot":"","sources":["../../src/cli/setup-codex.ts"],"names":[],"mappings":"AAQA,KAAK,iBAAiB,GAAG;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,iBAAiB,CA0BxE;AAmBD,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAejE"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import process from "node:process";
|
|
2
|
+
import { readCodexSetupStatus, upsertCodexConfig, upsertCodexHooks, } from "../codex/config.js";
|
|
3
|
+
export function parseSetupCodexOptions(args) {
|
|
4
|
+
let projectDir = process.cwd();
|
|
5
|
+
let dryRun = false;
|
|
6
|
+
let doctor = false;
|
|
7
|
+
for (let i = 0; i < args.length; i++) {
|
|
8
|
+
const arg = args[i];
|
|
9
|
+
if (arg === "doctor") {
|
|
10
|
+
doctor = true;
|
|
11
|
+
continue;
|
|
12
|
+
}
|
|
13
|
+
if (arg === "--dry-run") {
|
|
14
|
+
dryRun = true;
|
|
15
|
+
continue;
|
|
16
|
+
}
|
|
17
|
+
if (arg === "--project") {
|
|
18
|
+
const value = args[i + 1];
|
|
19
|
+
if (!value)
|
|
20
|
+
throw new Error("Missing value for --project");
|
|
21
|
+
projectDir = value;
|
|
22
|
+
i++;
|
|
23
|
+
continue;
|
|
24
|
+
}
|
|
25
|
+
throw new Error(`Unknown setup codex option: ${arg}`);
|
|
26
|
+
}
|
|
27
|
+
return { projectDir, dryRun, doctor };
|
|
28
|
+
}
|
|
29
|
+
async function runCodexDoctor(projectDir) {
|
|
30
|
+
const status = await readCodexSetupStatus(projectDir);
|
|
31
|
+
const hookReady = status.preToolUseConfigured && status.permissionRequestConfigured;
|
|
32
|
+
const ready = status.mcpConfigured && hookReady;
|
|
33
|
+
const lines = [
|
|
34
|
+
`Codex setup doctor (${projectDir}):`,
|
|
35
|
+
` MCP: ${status.mcpConfigured ? "configured" : "missing"} (${status.configPath})`,
|
|
36
|
+
` PreToolUse: ${status.preToolUseConfigured ? "configured" : "missing"} (${status.hooksPath})`,
|
|
37
|
+
` PermissionRequest: ${status.permissionRequestConfigured ? "configured" : "missing"} (${status.hooksPath})`,
|
|
38
|
+
` AGENTS.md: ${status.agentsGuidancePresent ? "present" : "missing (recommended)"}`,
|
|
39
|
+
" Hook trust: cannot be verified by auditor; review and trust the hooks in Codex.",
|
|
40
|
+
` Ready: ${ready ? "yes" : "no"}`,
|
|
41
|
+
];
|
|
42
|
+
process.stdout.write(`${lines.join("\n")}\n`);
|
|
43
|
+
if (!ready)
|
|
44
|
+
process.exitCode = 1;
|
|
45
|
+
}
|
|
46
|
+
export async function runSetupCodex(args) {
|
|
47
|
+
const opts = parseSetupCodexOptions(args);
|
|
48
|
+
if (opts.doctor) {
|
|
49
|
+
await runCodexDoctor(opts.projectDir);
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
const [config, hooks] = await Promise.all([
|
|
53
|
+
upsertCodexConfig(opts.projectDir, opts.dryRun),
|
|
54
|
+
upsertCodexHooks(opts.projectDir, opts.dryRun),
|
|
55
|
+
]);
|
|
56
|
+
process.stdout.write(`setup codex (${opts.projectDir}):\n`);
|
|
57
|
+
process.stdout.write(` mcp: ${config.message}\n path: ${config.path}\n`);
|
|
58
|
+
process.stdout.write(` hooks: ${hooks.message}\n path: ${hooks.path}\n`);
|
|
59
|
+
process.stdout.write(" next: open the project in Codex and review/trust the Praxis hooks.\n");
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=setup-codex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-codex.js","sourceRoot":"","sources":["../../src/cli/setup-codex.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-doctor.d.ts","sourceRoot":"","sources":["../../src/cli/setup-doctor.ts"],"names":[],"mappings":"AAUA,KAAK,kBAAkB,GAAG;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,kBAAkB,CAwB1E;
|
|
1
|
+
{"version":3,"file":"setup-doctor.d.ts","sourceRoot":"","sources":["../../src/cli/setup-doctor.ts"],"names":[],"mappings":"AAUA,KAAK,kBAAkB,GAAG;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,kBAAkB,CAwB1E;AAiDD,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiDlE"}
|
package/dist/cli/setup-doctor.js
CHANGED
|
@@ -27,7 +27,8 @@ export function parseSetupDoctorOptions(args) {
|
|
|
27
27
|
return { projectDir, userConfigPath };
|
|
28
28
|
}
|
|
29
29
|
function adapterFullyReady(adapter, status) {
|
|
30
|
-
|
|
30
|
+
const hookStatus = adapter.preferredHookScope === "project" ? status.hook?.project : status.hook?.global;
|
|
31
|
+
if (adapter.upsertHook && !(hookStatus?.shell && hookStatus?.mcp))
|
|
31
32
|
return false;
|
|
32
33
|
if (!status.mcp?.configured)
|
|
33
34
|
return false;
|
|
@@ -38,10 +39,24 @@ function adapterFullyReady(adapter, status) {
|
|
|
38
39
|
function pushAdapterLines(lines, adapter, status) {
|
|
39
40
|
lines.push(` ${adapter.id}:`);
|
|
40
41
|
if (adapter.upsertHook) {
|
|
41
|
-
const
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
|
|
42
|
+
const globalEntry = status.hook?.global;
|
|
43
|
+
const projectEntry = status.hook?.project;
|
|
44
|
+
const preferredProject = adapter.preferredHookScope === "project";
|
|
45
|
+
const shellLabel = preferredProject
|
|
46
|
+
? (projectEntry?.shellLabel ?? "shell")
|
|
47
|
+
: (globalEntry?.shellLabel ?? "shell");
|
|
48
|
+
const mcpLabel = preferredProject
|
|
49
|
+
? (projectEntry?.mcpLabel ?? "beforeMCP")
|
|
50
|
+
: (globalEntry?.mcpLabel ?? "beforeMCP");
|
|
51
|
+
if (globalEntry && !preferredProject) {
|
|
52
|
+
lines.push(` hook (global): ${shellLabel} ${globalEntry.shell ? "configured" : "missing"}, ${mcpLabel} ${globalEntry.mcp ? "configured" : "missing"} (${globalEntry.path})`);
|
|
53
|
+
}
|
|
54
|
+
if (projectEntry) {
|
|
55
|
+
lines.push(` hook (project): ${projectEntry.shellLabel ?? "shell"} ${projectEntry.shell ? "configured" : "missing"}, ${projectEntry.mcpLabel ?? "beforeMCP"} ${projectEntry.mcp ? "configured" : "missing"} (${projectEntry.path})`);
|
|
56
|
+
}
|
|
57
|
+
else if (!preferredProject) {
|
|
58
|
+
lines.push(" hook (project): not configured");
|
|
59
|
+
}
|
|
45
60
|
}
|
|
46
61
|
const m = status.mcp ?? { configured: false, path: "" };
|
|
47
62
|
lines.push(` mcp (praxis-guard): ${m.configured ? "configured" : "missing"} (${m.path})`);
|
|
@@ -64,7 +79,7 @@ export async function runSetupDoctor(args) {
|
|
|
64
79
|
}
|
|
65
80
|
// Legacy-config scans — currently Cursor-only since legacy guard-mcp config lives there.
|
|
66
81
|
const cursorStatus = adapterStatuses.find((s) => s.adapter.id === "cursor")?.status;
|
|
67
|
-
const globalHooksPath = cursorStatus?.hook?.global
|
|
82
|
+
const globalHooksPath = cursorStatus?.hook?.global?.path;
|
|
68
83
|
const projectHooksPath = cursorStatus?.hook?.project?.path;
|
|
69
84
|
const cursorMcpPath = cursorStatus?.mcp?.path;
|
|
70
85
|
const [globalConfig, projectConfig, mcpConfig] = await Promise.all([
|
|
@@ -84,7 +99,7 @@ export async function runSetupDoctor(args) {
|
|
|
84
99
|
legacyHookIssues.length === 0 &&
|
|
85
100
|
legacyMcpIssues.length === 0;
|
|
86
101
|
if (!ready) {
|
|
87
|
-
lines.push(" suggestion: run `auditor setup all` (or `auditor setup hook` + `auditor setup mcp`)");
|
|
102
|
+
lines.push(" suggestion: run `auditor setup all` (or `auditor setup hook` + `auditor setup mcp`; Codex also supports `auditor setup codex`)");
|
|
88
103
|
process.exitCode = 1;
|
|
89
104
|
}
|
|
90
105
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-doctor.js","sourceRoot":"","sources":["../../src/cli/setup-doctor.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EACL,QAAQ,EACR,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAO5B,MAAM,UAAU,uBAAuB,CAAC,IAAc;IACpD,IAAI,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC/B,IAAI,cAAkC,CAAC;IAEvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAC3D,UAAU,GAAG,KAAK,CAAC;YACnB,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,eAAe,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;YAC/D,cAAc,GAAG,KAAK,CAAC;YACvB,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,gCAAgC,GAAG,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAqB,EAAE,MAAmB;IACnE,
|
|
1
|
+
{"version":3,"file":"setup-doctor.js","sourceRoot":"","sources":["../../src/cli/setup-doctor.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/setup-mcp.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-mcp.d.ts","sourceRoot":"","sources":["../../src/cli/setup-mcp.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,KAAK,UAAU,GAAG;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,EAAE,CAAC;CACnB,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,
|
|
1
|
+
{"version":3,"file":"setup-mcp.d.ts","sourceRoot":"","sources":["../../src/cli/setup-mcp.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,KAAK,UAAU,GAAG;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,EAAE,CAAC;CACnB,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CA8B/D;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB/D"}
|
package/dist/cli/setup-mcp.js
CHANGED
|
@@ -3,6 +3,7 @@ import { parseForFlag, selectTargetAdapters } from "../adapters/select-targets.j
|
|
|
3
3
|
export function parseSetupMcpOptions(args) {
|
|
4
4
|
const { forIds, rest } = parseForFlag(args);
|
|
5
5
|
let userConfigPath;
|
|
6
|
+
let projectDir = process.cwd();
|
|
6
7
|
let dryRun = false;
|
|
7
8
|
for (let i = 0; i < rest.length; i++) {
|
|
8
9
|
const arg = rest[i];
|
|
@@ -18,9 +19,17 @@ export function parseSetupMcpOptions(args) {
|
|
|
18
19
|
i++;
|
|
19
20
|
continue;
|
|
20
21
|
}
|
|
22
|
+
if (arg === "--project") {
|
|
23
|
+
const value = rest[i + 1];
|
|
24
|
+
if (!value)
|
|
25
|
+
throw new Error("Missing value for --project");
|
|
26
|
+
projectDir = value;
|
|
27
|
+
i++;
|
|
28
|
+
continue;
|
|
29
|
+
}
|
|
21
30
|
throw new Error(`Unknown setup mcp option: ${arg}`);
|
|
22
31
|
}
|
|
23
|
-
return { userConfigPath, dryRun, forIds };
|
|
32
|
+
return { userConfigPath, projectDir, dryRun, forIds };
|
|
24
33
|
}
|
|
25
34
|
export async function runSetupMcp(args) {
|
|
26
35
|
const opts = parseSetupMcpOptions(args);
|
|
@@ -30,7 +39,11 @@ export async function runSetupMcp(args) {
|
|
|
30
39
|
process.stdout.write(`setup mcp (${targets.map((a) => a.id).join(", ")}):\n`);
|
|
31
40
|
for (const adapter of targets) {
|
|
32
41
|
const explicitPath = adapter.id === "cursor" ? opts.userConfigPath : undefined;
|
|
33
|
-
const result = await adapter.upsertMcp({
|
|
42
|
+
const result = await adapter.upsertMcp({
|
|
43
|
+
explicitPath,
|
|
44
|
+
projectDir: opts.projectDir,
|
|
45
|
+
dryRun: opts.dryRun,
|
|
46
|
+
});
|
|
34
47
|
process.stdout.write(` ${adapter.id}: ${result.message}\n`);
|
|
35
48
|
process.stdout.write(` path: ${result.path}\n`);
|
|
36
49
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-mcp.js","sourceRoot":"","sources":["../../src/cli/setup-mcp.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"setup-mcp.js","sourceRoot":"","sources":["../../src/cli/setup-mcp.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAUnF,MAAM,UAAU,oBAAoB,CAAC,IAAc;IACjD,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,cAAkC,CAAC;IACvC,IAAI,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC/B,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YACxB,MAAM,GAAG,IAAI,CAAC;YACd,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,eAAe,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;YAC/D,cAAc,GAAG,KAAK,CAAC;YACvB,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAC3D,UAAU,GAAG,KAAK,CAAC;YACnB,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACxD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAc;IAC9C,MAAM,IAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAElD,0EAA0E;IAC1E,yDAAyD;IACzD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9E,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;QAC9B,MAAM,YAAY,GAAG,OAAO,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/E,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC;YACrC,YAAY;YACZ,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;QACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,EAAE,KAAK,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;QAC7D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;IACrD,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
type JsonMap = Record<string, unknown>;
|
|
2
|
+
export type CodexSetupResult = {
|
|
3
|
+
path: string;
|
|
4
|
+
changed: boolean;
|
|
5
|
+
message: string;
|
|
6
|
+
};
|
|
7
|
+
export type CodexSetupStatus = {
|
|
8
|
+
configPath: string;
|
|
9
|
+
hooksPath: string;
|
|
10
|
+
mcpConfigured: boolean;
|
|
11
|
+
preToolUseConfigured: boolean;
|
|
12
|
+
permissionRequestConfigured: boolean;
|
|
13
|
+
agentsGuidancePresent: boolean;
|
|
14
|
+
};
|
|
15
|
+
export declare function codexConfigPath(projectDir: string): string;
|
|
16
|
+
export declare function codexHooksPath(projectDir: string): string;
|
|
17
|
+
export declare function mergeCodexConfigToml(source: string): string;
|
|
18
|
+
export declare function mergeCodexHooks(existing: JsonMap | null): JsonMap;
|
|
19
|
+
export declare function upsertCodexConfig(projectDir: string, dryRun?: boolean): Promise<CodexSetupResult>;
|
|
20
|
+
export declare function upsertCodexHooks(projectDir: string, dryRun?: boolean): Promise<CodexSetupResult>;
|
|
21
|
+
export declare function readCodexSetupStatus(projectDir: string): Promise<CodexSetupStatus>;
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/codex/config.ts"],"names":[],"mappings":"AAUA,KAAK,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEvC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,2BAA2B,EAAE,OAAO,CAAC;IACrC,qBAAqB,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEzD;AAsDD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAG3D;AAoCD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAqBjE;AAED,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,UAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAWrG;AAED,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,UAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAYpG;AAgBD,wBAAsB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAgBxF"}
|