@praxis.guard/auditor-cli 0.0.62 → 0.0.64
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 +19 -0
- package/dist/adapters/claude-code/adapter.d.ts +3 -1
- package/dist/adapters/claude-code/adapter.d.ts.map +1 -1
- package/dist/adapters/claude-code/adapter.js +68 -0
- package/dist/adapters/claude-code/adapter.js.map +1 -1
- package/dist/adapters/claude-desktop.d.ts +2 -1
- package/dist/adapters/claude-desktop.d.ts.map +1 -1
- package/dist/adapters/claude-desktop.js +24 -0
- package/dist/adapters/claude-desktop.js.map +1 -1
- package/dist/adapters/codex.d.ts +3 -1
- package/dist/adapters/codex.d.ts.map +1 -1
- package/dist/adapters/codex.js +7 -1
- package/dist/adapters/codex.js.map +1 -1
- package/dist/adapters/copilot-cli/adapter.d.ts +3 -1
- package/dist/adapters/copilot-cli/adapter.d.ts.map +1 -1
- package/dist/adapters/copilot-cli/adapter.js +57 -1
- package/dist/adapters/copilot-cli/adapter.js.map +1 -1
- package/dist/adapters/copilot-cli/config.d.ts +6 -0
- package/dist/adapters/copilot-cli/config.d.ts.map +1 -1
- package/dist/adapters/copilot-cli/config.js +23 -0
- package/dist/adapters/copilot-cli/config.js.map +1 -1
- package/dist/adapters/cursor.d.ts +4 -1
- package/dist/adapters/cursor.d.ts.map +1 -1
- package/dist/adapters/cursor.js +15 -1
- package/dist/adapters/cursor.js.map +1 -1
- package/dist/adapters/remove-helpers.d.ts +23 -0
- package/dist/adapters/remove-helpers.d.ts.map +1 -0
- package/dist/adapters/remove-helpers.js +40 -0
- package/dist/adapters/remove-helpers.js.map +1 -0
- package/dist/adapters/select-targets.d.ts +10 -0
- package/dist/adapters/select-targets.d.ts.map +1 -1
- package/dist/adapters/select-targets.js +23 -1
- package/dist/adapters/select-targets.js.map +1 -1
- package/dist/adapters/types.d.ts +29 -0
- package/dist/adapters/types.d.ts.map +1 -1
- package/dist/adapters/vscode.d.ts +2 -1
- package/dist/adapters/vscode.d.ts.map +1 -1
- package/dist/adapters/vscode.js +38 -6
- package/dist/adapters/vscode.js.map +1 -1
- package/dist/approval/mcp-flow-create.d.ts +3 -0
- package/dist/approval/mcp-flow-create.d.ts.map +1 -0
- package/dist/approval/mcp-flow-create.js +76 -0
- package/dist/approval/mcp-flow-create.js.map +1 -0
- package/dist/approval/mcp-flow-existing.d.ts +14 -0
- package/dist/approval/mcp-flow-existing.d.ts.map +1 -0
- package/dist/approval/mcp-flow-existing.js +43 -0
- package/dist/approval/mcp-flow-existing.js.map +1 -0
- package/dist/approval/mcp-flow-outcome.d.ts +5 -0
- package/dist/approval/mcp-flow-outcome.d.ts.map +1 -0
- package/dist/approval/mcp-flow-outcome.js +19 -0
- package/dist/approval/mcp-flow-outcome.js.map +1 -0
- package/dist/approval/mcp-flow-pending.d.ts +7 -0
- package/dist/approval/mcp-flow-pending.d.ts.map +1 -0
- package/dist/approval/mcp-flow-pending.js +25 -0
- package/dist/approval/mcp-flow-pending.js.map +1 -0
- package/dist/approval/mcp-flow-redeem.d.ts +13 -0
- package/dist/approval/mcp-flow-redeem.d.ts.map +1 -0
- package/dist/approval/mcp-flow-redeem.js +20 -0
- package/dist/approval/mcp-flow-redeem.js.map +1 -0
- package/dist/approval/mcp-flow.d.ts +6 -28
- package/dist/approval/mcp-flow.d.ts.map +1 -1
- package/dist/approval/mcp-flow.js +21 -129
- package/dist/approval/mcp-flow.js.map +1 -1
- package/dist/approval/mcp-flow.types.d.ts +42 -0
- package/dist/approval/mcp-flow.types.d.ts.map +1 -0
- package/dist/approval/mcp-flow.types.js +2 -0
- package/dist/approval/mcp-flow.types.js.map +1 -0
- package/dist/cli/cursor-config/environment-config.d.ts +8 -0
- package/dist/cli/cursor-config/environment-config.d.ts.map +1 -1
- package/dist/cli/cursor-config/environment-config.js +45 -1
- package/dist/cli/cursor-config/environment-config.js.map +1 -1
- package/dist/cli/cursor-config/hooks-config.d.ts +13 -0
- package/dist/cli/cursor-config/hooks-config.d.ts.map +1 -1
- package/dist/cli/cursor-config/hooks-config.js +64 -0
- package/dist/cli/cursor-config/hooks-config.js.map +1 -1
- package/dist/cli/cursor-config/index.d.ts +3 -3
- package/dist/cli/cursor-config/index.d.ts.map +1 -1
- package/dist/cli/cursor-config/index.js +3 -3
- package/dist/cli/cursor-config/index.js.map +1 -1
- package/dist/cli/cursor-config/json-io.d.ts +2 -0
- package/dist/cli/cursor-config/json-io.d.ts.map +1 -1
- package/dist/cli/cursor-config/json-io.js +5 -1
- package/dist/cli/cursor-config/json-io.js.map +1 -1
- package/dist/cli/cursor-config/mcp-config.d.ts +5 -0
- package/dist/cli/cursor-config/mcp-config.d.ts.map +1 -1
- package/dist/cli/cursor-config/mcp-config.js +37 -0
- package/dist/cli/cursor-config/mcp-config.js.map +1 -1
- package/dist/cli/cursor-config.d.ts +1 -1
- package/dist/cli/cursor-config.d.ts.map +1 -1
- package/dist/cli/cursor-config.js +1 -1
- package/dist/cli/cursor-config.js.map +1 -1
- package/dist/cli/dispatch-uninstall.d.ts +6 -0
- package/dist/cli/dispatch-uninstall.d.ts.map +1 -0
- package/dist/cli/dispatch-uninstall.js +10 -0
- package/dist/cli/dispatch-uninstall.js.map +1 -0
- package/dist/cli/doctor-adapter-lines.d.ts +4 -0
- package/dist/cli/doctor-adapter-lines.d.ts.map +1 -0
- package/dist/cli/doctor-adapter-lines.js +47 -0
- package/dist/cli/doctor-adapter-lines.js.map +1 -0
- package/dist/cli/doctor-notifications.d.ts +5 -0
- package/dist/cli/doctor-notifications.d.ts.map +1 -0
- package/dist/cli/doctor-notifications.js +10 -0
- package/dist/cli/doctor-notifications.js.map +1 -0
- package/dist/cli/doctor-remote.d.ts +3 -0
- package/dist/cli/doctor-remote.d.ts.map +1 -0
- package/dist/cli/doctor-remote.js +48 -0
- package/dist/cli/doctor-remote.js.map +1 -0
- package/dist/cli/doctor.d.ts +1 -22
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +46 -142
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +3 -0
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +12 -0
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/setup-gateway.d.ts +13 -0
- package/dist/cli/setup-gateway.d.ts.map +1 -1
- package/dist/cli/setup-gateway.js +24 -0
- package/dist/cli/setup-gateway.js.map +1 -1
- package/dist/cli/uninstall-all.d.ts +24 -0
- package/dist/cli/uninstall-all.d.ts.map +1 -0
- package/dist/cli/uninstall-all.js +249 -0
- package/dist/cli/uninstall-all.js.map +1 -0
- package/dist/codex/config-hooks.d.ts +7 -0
- package/dist/codex/config-hooks.d.ts.map +1 -1
- package/dist/codex/config-hooks.js +28 -0
- package/dist/codex/config-hooks.js.map +1 -1
- package/dist/codex/config-io.d.ts +1 -0
- package/dist/codex/config-io.d.ts.map +1 -1
- package/dist/codex/config-io.js +4 -1
- package/dist/codex/config-io.js.map +1 -1
- package/dist/codex/config-toml.d.ts +7 -0
- package/dist/codex/config-toml.d.ts.map +1 -1
- package/dist/codex/config-toml.js +50 -0
- package/dist/codex/config-toml.js.map +1 -1
- package/dist/codex/config.d.ts +2 -0
- package/dist/codex/config.d.ts.map +1 -1
- package/dist/codex/config.js +52 -3
- package/dist/codex/config.js.map +1 -1
- package/dist/mcp/evaluate-guard-approval.d.ts +47 -0
- package/dist/mcp/evaluate-guard-approval.d.ts.map +1 -0
- package/dist/mcp/evaluate-guard-approval.js +80 -0
- package/dist/mcp/evaluate-guard-approval.js.map +1 -0
- package/dist/mcp/evaluate-guard-policy.d.ts +3 -0
- package/dist/mcp/evaluate-guard-policy.d.ts.map +1 -0
- package/dist/mcp/evaluate-guard-policy.js +6 -0
- package/dist/mcp/evaluate-guard-policy.js.map +1 -0
- package/dist/mcp/evaluate-guard-proposal.d.ts +16 -0
- package/dist/mcp/evaluate-guard-proposal.d.ts.map +1 -0
- package/dist/mcp/evaluate-guard-proposal.js +57 -0
- package/dist/mcp/evaluate-guard-proposal.js.map +1 -0
- package/dist/mcp/evaluate-guard-run.d.ts +23 -0
- package/dist/mcp/evaluate-guard-run.d.ts.map +1 -0
- package/dist/mcp/evaluate-guard-run.js +75 -0
- package/dist/mcp/evaluate-guard-run.js.map +1 -0
- package/dist/mcp/evaluate-guard-telemetry.d.ts +22 -0
- package/dist/mcp/evaluate-guard-telemetry.d.ts.map +1 -0
- package/dist/mcp/evaluate-guard-telemetry.js +38 -0
- package/dist/mcp/evaluate-guard-telemetry.js.map +1 -0
- package/dist/mcp/evaluate-guard-tier.d.ts +18 -0
- package/dist/mcp/evaluate-guard-tier.d.ts.map +1 -0
- package/dist/mcp/evaluate-guard-tier.js +42 -0
- package/dist/mcp/evaluate-guard-tier.js.map +1 -0
- package/dist/mcp/evaluate-guard.d.ts +2 -5
- package/dist/mcp/evaluate-guard.d.ts.map +1 -1
- package/dist/mcp/evaluate-guard.js +18 -195
- package/dist/mcp/evaluate-guard.js.map +1 -1
- package/dist/mcp/gateway-call-handler.d.ts +9 -0
- package/dist/mcp/gateway-call-handler.d.ts.map +1 -0
- package/dist/mcp/gateway-call-handler.js +61 -0
- package/dist/mcp/gateway-call-handler.js.map +1 -0
- package/dist/mcp/gateway-call-results.d.ts +5 -0
- package/dist/mcp/gateway-call-results.d.ts.map +1 -0
- package/dist/mcp/gateway-call-results.js +14 -0
- package/dist/mcp/gateway-call-results.js.map +1 -0
- package/dist/mcp/gateway-connection-lib.d.ts +54 -0
- package/dist/mcp/gateway-connection-lib.d.ts.map +1 -0
- package/dist/mcp/gateway-connection-lib.js +39 -0
- package/dist/mcp/gateway-connection-lib.js.map +1 -0
- package/dist/mcp/gateway-connection.d.ts +16 -0
- package/dist/mcp/gateway-connection.d.ts.map +1 -0
- package/dist/mcp/gateway-connection.js +54 -0
- package/dist/mcp/gateway-connection.js.map +1 -0
- package/dist/mcp/gateway-log.d.ts +5 -0
- package/dist/mcp/gateway-log.d.ts.map +1 -0
- package/dist/mcp/gateway-log.js +9 -0
- package/dist/mcp/gateway-log.js.map +1 -0
- package/dist/mcp/gateway.d.ts +2 -20
- package/dist/mcp/gateway.d.ts.map +1 -1
- package/dist/mcp/gateway.js +18 -186
- package/dist/mcp/gateway.js.map +1 -1
- package/dist/policies.v1.json +6 -0
- package/native/darwin-amd64/praxis-guard-daemon +0 -0
- package/native/darwin-amd64/praxis-guard-hook +0 -0
- package/native/darwin-arm64/praxis-guard-daemon +0 -0
- package/native/darwin-arm64/praxis-guard-hook +0 -0
- package/native/linux-amd64/praxis-guard-daemon +0 -0
- package/native/linux-amd64/praxis-guard-hook +0 -0
- package/native/linux-arm64/praxis-guard-daemon +0 -0
- package/native/linux-arm64/praxis-guard-hook +0 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-flow.d.ts","sourceRoot":"","sources":["../../src/approval/mcp-flow.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mcp-flow.d.ts","sourceRoot":"","sources":["../../src/approval/mcp-flow.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAGjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAElF,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAElF,KAAK,mBAAmB,GAAG;IACzB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,YAAY,EAAE,OAAO,GAAG,KAAK,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACrC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,oBAAoB,CAAC,EAAE,+BAA+B,GAAG,IAAI,CAAC;CAC/D,CAAC;AAEF,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAoCnG;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAE/D;AAED,OAAO,EAAE,wBAAwB,EAAE,CAAC"}
|
|
@@ -1,152 +1,44 @@
|
|
|
1
|
-
import { DEFAULT_APP_URL } from "../config/default-endpoints.js";
|
|
2
1
|
import { getInstallId } from "../cli/install-id.js";
|
|
3
|
-
import {
|
|
4
|
-
import { recordRequestBinding } from "../bridge/request-binding-write.js";
|
|
5
|
-
import { writePendingApprovalIndex } from "../bridge/pending-approval-index.js";
|
|
2
|
+
import { resolveGuardStorageRoot } from "../bridge/guard-storage-root.js";
|
|
6
3
|
import { resolveShellApprovalHash } from "./argv-fingerprint.js";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { verifyApprovalGrant } from "./grant.js";
|
|
10
|
-
function defaultAppUrl() {
|
|
11
|
-
return process.env.PRAXIS_APP_URL?.trim() || DEFAULT_APP_URL;
|
|
12
|
-
}
|
|
4
|
+
import { createMutateApproval } from "./mcp-flow-create.js";
|
|
5
|
+
import { resolveExistingMutateApproval } from "./mcp-flow-existing.js";
|
|
13
6
|
export async function resolveMutateApproval(input) {
|
|
14
|
-
const installId = getInstallId();
|
|
15
7
|
const storageRoot = resolveGuardStorageRoot(input.storageRoot);
|
|
16
8
|
const requestId = input.approval?.request_id?.trim() || null;
|
|
17
9
|
const grant = input.approval?.grant?.trim() || null;
|
|
18
10
|
try {
|
|
19
11
|
if (requestId) {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
if (!claims || claims.request_id !== requestId) {
|
|
23
|
-
return { kind: "backend_unavailable", message: "invalid_grant" };
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
const row = grant ? null : await getApprovalRequest(requestId);
|
|
27
|
-
const status = grant ? "approved" : row?.status;
|
|
28
|
-
if (status === "pending" && input.waitMs && input.waitMs > 0) {
|
|
29
|
-
await pollUntilApproved(requestId, { timeoutMs: input.waitMs });
|
|
30
|
-
}
|
|
31
|
-
else if (status === "pending") {
|
|
32
|
-
return {
|
|
33
|
-
kind: "require_approval",
|
|
34
|
-
request_id: requestId,
|
|
35
|
-
open_url: row?.open_url ?? `${defaultAppUrl().replace(/\/$/, "")}/app/approvals/${requestId}`,
|
|
36
|
-
expires_at: row?.expires_at ?? new Date(Date.now() + 30 * 60 * 1000).toISOString(),
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
if (status === "denied") {
|
|
40
|
-
return { kind: "backend_unavailable", message: "approval_denied" };
|
|
41
|
-
}
|
|
42
|
-
const redeem = await redeemApprovalAndRecordBridge({
|
|
43
|
-
request_id: requestId,
|
|
44
|
-
argv: input.argv,
|
|
45
|
-
kind: input.proposalKind,
|
|
46
|
-
storageRoot,
|
|
12
|
+
return resolveExistingMutateApproval({
|
|
13
|
+
requestId,
|
|
47
14
|
grant,
|
|
48
|
-
environment: input.environment,
|
|
49
|
-
session_id: input.sessionId,
|
|
50
|
-
approval_fingerprint: input.approval_fingerprint,
|
|
51
|
-
});
|
|
52
|
-
if (!redeem.ticketRecorded) {
|
|
53
|
-
return {
|
|
54
|
-
kind: "credential_not_recorded",
|
|
55
|
-
request_id: requestId,
|
|
56
|
-
message: "Approval redeemed but no execution ticket was written for hooks. Check workspace permissions under .praxis/guard/tickets.",
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
return {
|
|
60
|
-
kind: "allow",
|
|
61
|
-
redeemed: redeem.redeemed,
|
|
62
|
-
approved_by: redeem.approved_by,
|
|
63
|
-
bridgeRecorded: false,
|
|
64
|
-
ticketRecorded: redeem.ticketRecorded,
|
|
65
|
-
request_id: requestId,
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
if (!isReliableWorkspaceRoot(storageRoot)) {
|
|
69
|
-
return {
|
|
70
|
-
kind: "backend_unavailable",
|
|
71
|
-
message: "Cannot bind approval to a workspace root. Set proposal.cwd or context.workspace_root to the repo root where hooks run (must contain .git, .praxis, or .cursor/hooks.json).",
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
const created = await createApprovalRequest({
|
|
75
|
-
kind: input.proposalKind,
|
|
76
|
-
tier: "MUTATE",
|
|
77
|
-
argv: [...input.argv],
|
|
78
|
-
install_id: installId,
|
|
79
|
-
session_id: input.sessionId ?? null,
|
|
80
|
-
environment: input.environment ?? null,
|
|
81
|
-
raw_display: input.rawDisplay ?? input.argv.join(" "),
|
|
82
|
-
event_id: input.eventId,
|
|
83
|
-
policy_revision: input.policyRevision,
|
|
84
|
-
reasons: input.reasons,
|
|
85
|
-
tool_input_sha256: input.tool_input_sha256 ?? null,
|
|
86
|
-
approval_scope: "exact",
|
|
87
|
-
});
|
|
88
|
-
recordRequestBinding({
|
|
89
|
-
request_id: created.request_id,
|
|
90
|
-
storage_root: storageRoot,
|
|
91
|
-
argv: input.argv,
|
|
92
|
-
kind: input.proposalKind,
|
|
93
|
-
expires_at: created.expires_at,
|
|
94
|
-
approval_fingerprint: input.approval_fingerprint,
|
|
95
|
-
});
|
|
96
|
-
if (input.waitMs && input.waitMs > 0) {
|
|
97
|
-
await pollUntilApproved(created.request_id, { timeoutMs: input.waitMs });
|
|
98
|
-
const redeem = await redeemApprovalAndRecordBridge({
|
|
99
|
-
request_id: created.request_id,
|
|
100
15
|
argv: input.argv,
|
|
101
|
-
|
|
16
|
+
proposalKind: input.proposalKind,
|
|
102
17
|
storageRoot,
|
|
18
|
+
sessionId: input.sessionId,
|
|
103
19
|
environment: input.environment,
|
|
104
|
-
|
|
20
|
+
waitMs: input.waitMs,
|
|
105
21
|
approval_fingerprint: input.approval_fingerprint,
|
|
106
22
|
});
|
|
107
|
-
if (!redeem.ticketRecorded) {
|
|
108
|
-
return {
|
|
109
|
-
kind: "credential_not_recorded",
|
|
110
|
-
request_id: created.request_id,
|
|
111
|
-
message: "Approval redeemed but no execution ticket was written for hooks. Check workspace permissions under .praxis/guard/tickets.",
|
|
112
|
-
};
|
|
113
|
-
}
|
|
114
|
-
return {
|
|
115
|
-
kind: "allow",
|
|
116
|
-
redeemed: redeem.redeemed,
|
|
117
|
-
approved_by: redeem.approved_by,
|
|
118
|
-
bridgeRecorded: false,
|
|
119
|
-
ticketRecorded: redeem.ticketRecorded,
|
|
120
|
-
request_id: created.request_id,
|
|
121
|
-
};
|
|
122
23
|
}
|
|
123
|
-
|
|
124
|
-
kind: input.proposalKind,
|
|
24
|
+
return createMutateApproval({
|
|
125
25
|
argv: input.argv,
|
|
26
|
+
proposalKind: input.proposalKind,
|
|
27
|
+
storageRoot,
|
|
28
|
+
installId: getInstallId(),
|
|
29
|
+
rawDisplay: input.rawDisplay,
|
|
30
|
+
eventId: input.eventId,
|
|
31
|
+
policyRevision: input.policyRevision,
|
|
32
|
+
reasons: input.reasons,
|
|
33
|
+
sessionId: input.sessionId,
|
|
34
|
+
environment: input.environment,
|
|
35
|
+
waitMs: input.waitMs,
|
|
36
|
+
tool_input_sha256: input.tool_input_sha256,
|
|
126
37
|
approval_fingerprint: input.approval_fingerprint,
|
|
127
38
|
});
|
|
128
|
-
await writePendingApprovalIndex({
|
|
129
|
-
request_id: created.request_id,
|
|
130
|
-
argv_sha256: hash,
|
|
131
|
-
argv: [...input.argv],
|
|
132
|
-
install_id: installId,
|
|
133
|
-
open_url: created.open_url,
|
|
134
|
-
expires_at: created.expires_at,
|
|
135
|
-
event_id: input.eventId,
|
|
136
|
-
tool_input_sha256: input.tool_input_sha256 ?? null,
|
|
137
|
-
kind: input.proposalKind,
|
|
138
|
-
created_at: new Date().toISOString(),
|
|
139
|
-
}, { storageRoot });
|
|
140
|
-
return {
|
|
141
|
-
kind: "require_approval",
|
|
142
|
-
request_id: created.request_id,
|
|
143
|
-
open_url: created.open_url,
|
|
144
|
-
expires_at: created.expires_at,
|
|
145
|
-
};
|
|
146
39
|
}
|
|
147
40
|
catch (e) {
|
|
148
|
-
|
|
149
|
-
return { kind: "backend_unavailable", message: msg };
|
|
41
|
+
return { kind: "backend_unavailable", message: e instanceof Error ? e.message : String(e) };
|
|
150
42
|
}
|
|
151
43
|
}
|
|
152
44
|
export function argvFingerprint(argv) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-flow.js","sourceRoot":"","sources":["../../src/approval/mcp-flow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"mcp-flow.js","sourceRoot":"","sources":["../../src/approval/mcp-flow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAE1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AAqBvE,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,KAA0B;IACpE,MAAM,WAAW,GAAG,uBAAuB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC;IAC7D,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC;IACpD,IAAI,CAAC;QACH,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,6BAA6B,CAAC;gBACnC,SAAS;gBACT,KAAK;gBACL,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,WAAW;gBACX,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;aACjD,CAAC,CAAC;QACL,CAAC;QACD,OAAO,oBAAoB,CAAC;YAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,WAAW;YACX,SAAS,EAAE,YAAY,EAAE;YACzB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;YAC1C,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;SACjD,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9F,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAuB;IACrD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED,OAAO,EAAE,wBAAwB,EAAE,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { ShellApprovalFingerprintPayload } from "../shell/analyze-command.js";
|
|
2
|
+
export type McpApprovalContext = {
|
|
3
|
+
request_id?: string | null;
|
|
4
|
+
grant?: string | null;
|
|
5
|
+
};
|
|
6
|
+
export type McpApprovalOutcome = {
|
|
7
|
+
kind: "require_approval";
|
|
8
|
+
request_id: string;
|
|
9
|
+
open_url: string;
|
|
10
|
+
expires_at: string;
|
|
11
|
+
} | {
|
|
12
|
+
kind: "allow";
|
|
13
|
+
redeemed: boolean;
|
|
14
|
+
approved_by: string | null;
|
|
15
|
+
bridgeRecorded: boolean;
|
|
16
|
+
ticketRecorded: boolean;
|
|
17
|
+
request_id: string;
|
|
18
|
+
} | {
|
|
19
|
+
kind: "credential_not_recorded";
|
|
20
|
+
request_id: string;
|
|
21
|
+
message: string;
|
|
22
|
+
} | {
|
|
23
|
+
kind: "backend_unavailable";
|
|
24
|
+
message: string;
|
|
25
|
+
};
|
|
26
|
+
export type CreateMutateApprovalInput = {
|
|
27
|
+
argv: string[];
|
|
28
|
+
proposalKind: "shell" | "mcp";
|
|
29
|
+
storageRoot: string;
|
|
30
|
+
installId: string;
|
|
31
|
+
rawDisplay?: string;
|
|
32
|
+
eventId: string;
|
|
33
|
+
policyRevision: number | null;
|
|
34
|
+
reasons: unknown[];
|
|
35
|
+
sessionId?: string | null;
|
|
36
|
+
environment?: string | null;
|
|
37
|
+
waitMs?: number | null;
|
|
38
|
+
tool_input_sha256?: string | null;
|
|
39
|
+
approval?: McpApprovalContext | null;
|
|
40
|
+
approval_fingerprint?: ShellApprovalFingerprintPayload | null;
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=mcp-flow.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-flow.types.d.ts","sourceRoot":"","sources":["../../src/approval/mcp-flow.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAEnF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAC1B;IACE,IAAI,EAAE,kBAAkB,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB,GACD;IACE,IAAI,EAAE,yBAAyB,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB,GACD;IAAE,IAAI,EAAE,qBAAqB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAErD,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,YAAY,EAAE,OAAO,GAAG,KAAK,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACrC,oBAAoB,CAAC,EAAE,+BAA+B,GAAG,IAAI,CAAC;CAC/D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-flow.types.js","sourceRoot":"","sources":["../../src/approval/mcp-flow.types.ts"],"names":[],"mappings":""}
|
|
@@ -4,4 +4,12 @@ export declare function detectInstallCommand(projectDir: string): string;
|
|
|
4
4
|
export declare function hasConfiguredEnvironment(config: JsonMap | null): boolean;
|
|
5
5
|
export declare function upsertEnvironmentConfig(projectDir: string, dryRun?: boolean): Promise<SetupResult>;
|
|
6
6
|
export declare function readEnvironmentConfigured(projectDir: string): Promise<boolean>;
|
|
7
|
+
/**
|
|
8
|
+
* Remove the Praxis-written `install` command from a Cloud Agents
|
|
9
|
+
* `.cursor/environment.json`. Only strips the key when its value is the command
|
|
10
|
+
* setup would have written for this project (or a legacy guard-mcp/auditor-cli
|
|
11
|
+
* variant), so a user's own install command is preserved. Deletes the file when
|
|
12
|
+
* it is left empty.
|
|
13
|
+
*/
|
|
14
|
+
export declare function removeEnvironmentConfig(projectDir: string, dryRun?: boolean): Promise<SetupResult>;
|
|
7
15
|
//# sourceMappingURL=environment-config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment-config.d.ts","sourceRoot":"","sources":["../../../src/cli/cursor-config/environment-config.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAmBvD,wBAAgB,iCAAiC,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAYnF;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAiB/D;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAExE;AAED,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,MAAM,EAClB,MAAM,UAAQ,GACb,OAAO,CAAC,WAAW,CAAC,CAyCtB;AAED,wBAAsB,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGpF"}
|
|
1
|
+
{"version":3,"file":"environment-config.d.ts","sourceRoot":"","sources":["../../../src/cli/cursor-config/environment-config.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAmBvD,wBAAgB,iCAAiC,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAYnF;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAiB/D;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAExE;AAED,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,MAAM,EAClB,MAAM,UAAQ,GACb,OAAO,CAAC,WAAW,CAAC,CAyCtB;AAED,wBAAsB,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGpF;AAED;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,MAAM,EAClB,MAAM,UAAQ,GACb,OAAO,CAAC,WAAW,CAAC,CAmCtB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import fs from "node:fs";
|
|
2
2
|
import path from "node:path";
|
|
3
|
-
import { cloneJsonMap, readJson, writeJson } from "./json-io.js";
|
|
3
|
+
import { cloneJsonMap, readJson, removeFile, writeJson } from "./json-io.js";
|
|
4
4
|
import { resolveEnvironmentJsonPath } from "./paths.js";
|
|
5
5
|
function detectPackageManager(projectDir) {
|
|
6
6
|
try {
|
|
@@ -97,4 +97,48 @@ export async function readEnvironmentConfigured(projectDir) {
|
|
|
97
97
|
const config = await readJson(resolveEnvironmentJsonPath(projectDir));
|
|
98
98
|
return hasConfiguredEnvironment(config);
|
|
99
99
|
}
|
|
100
|
+
/**
|
|
101
|
+
* Remove the Praxis-written `install` command from a Cloud Agents
|
|
102
|
+
* `.cursor/environment.json`. Only strips the key when its value is the command
|
|
103
|
+
* setup would have written for this project (or a legacy guard-mcp/auditor-cli
|
|
104
|
+
* variant), so a user's own install command is preserved. Deletes the file when
|
|
105
|
+
* it is left empty.
|
|
106
|
+
*/
|
|
107
|
+
export async function removeEnvironmentConfig(projectDir, dryRun = false) {
|
|
108
|
+
const envPath = resolveEnvironmentJsonPath(projectDir);
|
|
109
|
+
const existing = await readJson(envPath);
|
|
110
|
+
if (!existing) {
|
|
111
|
+
return { path: envPath, changed: false, message: "no environment.json to remove" };
|
|
112
|
+
}
|
|
113
|
+
const beforeJson = JSON.stringify(existing);
|
|
114
|
+
const config = cloneJsonMap(existing);
|
|
115
|
+
const install = config.install;
|
|
116
|
+
const expected = detectInstallCommand(projectDir);
|
|
117
|
+
const isPraxisInstall = typeof install === "string" &&
|
|
118
|
+
(install === expected ||
|
|
119
|
+
install.includes("guard-mcp") ||
|
|
120
|
+
install.includes("auditor-cli") ||
|
|
121
|
+
install.includes("auditor-policy"));
|
|
122
|
+
if (isPraxisInstall)
|
|
123
|
+
delete config.install;
|
|
124
|
+
const isEmpty = Object.keys(config).length === 0;
|
|
125
|
+
const changed = beforeJson !== JSON.stringify(config);
|
|
126
|
+
if (changed && !dryRun) {
|
|
127
|
+
if (isEmpty)
|
|
128
|
+
await removeFile(envPath);
|
|
129
|
+
else
|
|
130
|
+
await writeJson(envPath, config);
|
|
131
|
+
}
|
|
132
|
+
return {
|
|
133
|
+
path: envPath,
|
|
134
|
+
changed,
|
|
135
|
+
message: changed
|
|
136
|
+
? dryRun
|
|
137
|
+
? "would remove Praxis cloud install from environment.json"
|
|
138
|
+
: isEmpty
|
|
139
|
+
? "removed environment.json"
|
|
140
|
+
: "removed Praxis cloud install from environment.json"
|
|
141
|
+
: "no Praxis cloud install to remove",
|
|
142
|
+
};
|
|
143
|
+
}
|
|
100
144
|
//# sourceMappingURL=environment-config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment-config.js","sourceRoot":"","sources":["../../../src/cli/cursor-config/environment-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"environment-config.js","sourceRoot":"","sources":["../../../src/cli/cursor-config/environment-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAGxD,SAAS,oBAAoB,CAAC,UAAkB;IAC9C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC;QAC3E,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,OAAO,GAAG,CAAC,cAAc,KAAK,QAAQ,IAAI,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACpF,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,oDAAoD;IACtD,CAAC;IAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACvE,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QAAE,OAAO,MAAM,CAAC;IAC1E,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAAE,OAAO,MAAM,CAAC;IACrE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,UAAkB;IAClE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;IACpF,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAC;IAC1F,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7E,MAAM,EAAE,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAC5C,MAAM,MAAM,GACV,EAAE,KAAK,MAAM;QACX,CAAC,CAAC,mGAAmG;QACrG,CAAC,CAAC,EAAE,KAAK,MAAM;YACb,CAAC,CAAC,oCAAoC;YACtC,CAAC,CAAC,EAAE,CAAC;IACX,OAAO,GAAG,MAAM,6EAA6E,CAAC;AAChG,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,UAAkB;IACrD,MAAM,QAAQ,GAAG,iCAAiC,CAAC,UAAU,CAAC,CAAC;IAC/D,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAE9B,MAAM,EAAE,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAC5C,QAAQ,EAAE,EAAE,CAAC;QACX,KAAK,MAAM;YACT,OAAO,gCAAgC,CAAC;QAC1C,KAAK,MAAM;YACT,OAAO,gCAAgC,CAAC;QAC1C,KAAK,KAAK;YACR,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;gBAC9D,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,aAAa,CAAC;QACpB;YACE,OAAO,0CAA0C,CAAC;IACtD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,MAAsB;IAC7D,OAAO,CAAC,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;AACrF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,UAAkB,EAClB,MAAM,GAAG,KAAK;IAEd,MAAM,OAAO,GAAG,0BAA0B,CAAC,UAAU,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;IAEzC,MAAM,UAAU,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;IACpD,MAAM,eAAe,GACnB,QAAQ,EAAE,OAAO,IAAI,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACpF,IAAI,eAAe,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9D,OAAO;YACL,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,8CAA8C;SACxD,CAAC;IACJ,CAAC;IACD,IAAI,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAY,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;QAC7F,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC1E,IAAI,OAAO,IAAI,CAAC,MAAM;YAAE,MAAM,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACzD,OAAO;YACL,IAAI,EAAE,OAAO;YACb,OAAO;YACP,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,uDAAuD,CAAC,CAAC,CAAC,WAAW;SACzF,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAY,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;IAC7F,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAE1E,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,+BAA+B;gBACjC,CAAC,CAAC,0BAA0B;YAC9B,CAAC,CAAC,qCAAqC;KAC1C,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,UAAkB;IAChE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC,CAAC;IACtE,OAAO,wBAAwB,CAAC,MAAM,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,UAAkB,EAClB,MAAM,GAAG,KAAK;IAEd,MAAM,OAAO,GAAG,0BAA0B,CAAC,UAAU,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC;IACrF,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,MAAM,QAAQ,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAClD,MAAM,eAAe,GACnB,OAAO,OAAO,KAAK,QAAQ;QAC3B,CAAC,OAAO,KAAK,QAAQ;YACnB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;YAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACxC,IAAI,eAAe;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC;IAE3C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,UAAU,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACtD,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,IAAI,OAAO;YAAE,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;;YAClC,MAAM,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;IACD,OAAO;QACL,IAAI,EAAE,OAAO;QACb,OAAO;QACP,OAAO,EAAE,OAAO;YACd,CAAC,CAAC,MAAM;gBACN,CAAC,CAAC,yDAAyD;gBAC3D,CAAC,CAAC,OAAO;oBACP,CAAC,CAAC,0BAA0B;oBAC5B,CAAC,CAAC,oDAAoD;YAC1D,CAAC,CAAC,mCAAmC;KACxC,CAAC;AACJ,CAAC"}
|
|
@@ -3,6 +3,19 @@ export declare function hasConfiguredHook(config: JsonMap | null): boolean;
|
|
|
3
3
|
export declare function hasConfiguredBeforeMcpHook(config: JsonMap | null): boolean;
|
|
4
4
|
export declare function upsertHookConfig(opts: UpsertHookConfigOptions): Promise<SetupResult>;
|
|
5
5
|
export declare function hasAnyPraxisHookEntry(config: JsonMap | null): boolean;
|
|
6
|
+
/**
|
|
7
|
+
* Remove Praxis hook entries (current, native, and legacy variants) from a
|
|
8
|
+
* Cursor hooks.json. Strips matching beforeShellExecution / beforeMCPExecution
|
|
9
|
+
* entries, prunes emptied arrays, and prunes the `hooks` object if empty. The
|
|
10
|
+
* file itself is left in place (it is shared with the user's own hooks) — a
|
|
11
|
+
* residual `{ "version": 1 }` is inert.
|
|
12
|
+
*/
|
|
13
|
+
export declare function removeHookConfig(opts: {
|
|
14
|
+
scope: "global" | "project";
|
|
15
|
+
projectDir?: string;
|
|
16
|
+
explicitPath?: string;
|
|
17
|
+
dryRun?: boolean;
|
|
18
|
+
}): Promise<SetupResult>;
|
|
6
19
|
export declare function readHooksStatusAt(hooksPath: string): Promise<{
|
|
7
20
|
shell: boolean;
|
|
8
21
|
mcp: boolean;
|
|
@@ -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;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"}
|
|
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;AA8BD;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC3C,KAAK,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GAAG,OAAO,CAAC,WAAW,CAAC,CA8BvB;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"}
|
|
@@ -120,6 +120,70 @@ export async function upsertHookConfig(opts) {
|
|
|
120
120
|
export function hasAnyPraxisHookEntry(config) {
|
|
121
121
|
return hasConfiguredHook(config) || hasConfiguredBeforeMcpHook(config);
|
|
122
122
|
}
|
|
123
|
+
function isPraxisShellHookEntry(entry) {
|
|
124
|
+
if (!entry || typeof entry !== "object")
|
|
125
|
+
return false;
|
|
126
|
+
const command = entry.command;
|
|
127
|
+
return (command === HOOK_COMMAND_SHELL ||
|
|
128
|
+
isNativeHookCommand(command, "before-shell") ||
|
|
129
|
+
isLegacyShellHookCommand(command));
|
|
130
|
+
}
|
|
131
|
+
function isPraxisMcpHookEntry(entry) {
|
|
132
|
+
if (!entry || typeof entry !== "object")
|
|
133
|
+
return false;
|
|
134
|
+
const command = entry.command;
|
|
135
|
+
return (command === HOOK_COMMAND_MCP ||
|
|
136
|
+
isNativeHookCommand(command, "before-mcp") ||
|
|
137
|
+
isLegacyMcpHookCommand(command));
|
|
138
|
+
}
|
|
139
|
+
/** Drop entries matching `isOurs` from `hooks[key]`; delete the key when emptied. */
|
|
140
|
+
function stripHookArray(hooks, key, isOurs) {
|
|
141
|
+
if (!Array.isArray(hooks[key]))
|
|
142
|
+
return;
|
|
143
|
+
const filtered = hooks[key].filter((entry) => !isOurs(entry));
|
|
144
|
+
if (filtered.length === 0)
|
|
145
|
+
delete hooks[key];
|
|
146
|
+
else
|
|
147
|
+
hooks[key] = filtered;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Remove Praxis hook entries (current, native, and legacy variants) from a
|
|
151
|
+
* Cursor hooks.json. Strips matching beforeShellExecution / beforeMCPExecution
|
|
152
|
+
* entries, prunes emptied arrays, and prunes the `hooks` object if empty. The
|
|
153
|
+
* file itself is left in place (it is shared with the user's own hooks) — a
|
|
154
|
+
* residual `{ "version": 1 }` is inert.
|
|
155
|
+
*/
|
|
156
|
+
export async function removeHookConfig(opts) {
|
|
157
|
+
const dryRun = opts.dryRun ?? false;
|
|
158
|
+
const hooksPath = resolveHooksConfigPath(opts);
|
|
159
|
+
const existing = await readJson(hooksPath);
|
|
160
|
+
if (!existing) {
|
|
161
|
+
return { path: hooksPath, changed: false, message: "no hooks config to remove" };
|
|
162
|
+
}
|
|
163
|
+
const beforeJson = JSON.stringify(existing);
|
|
164
|
+
const config = cloneJsonMap(existing);
|
|
165
|
+
const hooks = config.hooks && typeof config.hooks === "object" && !Array.isArray(config.hooks)
|
|
166
|
+
? config.hooks
|
|
167
|
+
: null;
|
|
168
|
+
if (hooks) {
|
|
169
|
+
stripHookArray(hooks, "beforeShellExecution", isPraxisShellHookEntry);
|
|
170
|
+
stripHookArray(hooks, "beforeMCPExecution", isPraxisMcpHookEntry);
|
|
171
|
+
if (Object.keys(hooks).length === 0)
|
|
172
|
+
delete config.hooks;
|
|
173
|
+
}
|
|
174
|
+
const changed = beforeJson !== JSON.stringify(config);
|
|
175
|
+
if (changed && !dryRun)
|
|
176
|
+
await writeJson(hooksPath, config);
|
|
177
|
+
return {
|
|
178
|
+
path: hooksPath,
|
|
179
|
+
changed,
|
|
180
|
+
message: changed
|
|
181
|
+
? dryRun
|
|
182
|
+
? "would remove hooks config"
|
|
183
|
+
: "removed hooks config"
|
|
184
|
+
: "no hooks config to remove",
|
|
185
|
+
};
|
|
186
|
+
}
|
|
123
187
|
export async function readHooksStatusAt(hooksPath) {
|
|
124
188
|
const config = await readJson(hooksPath).catch(() => null);
|
|
125
189
|
return {
|
|
@@ -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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"}
|
|
@@ -2,7 +2,7 @@ export type { HookConfigScope, JsonMap, SetupResult, UpsertHookConfigOptions, }
|
|
|
2
2
|
export { referencesGuardMcp, scanHooksForLegacyGuardMcp, scanMcpForLegacyGuardMcp } from "./legacy-guard-mcp.js";
|
|
3
3
|
export { readJson } from "./json-io.js";
|
|
4
4
|
export { resolveEnvironmentJsonPath, resolveHooksConfigPath, resolveProjectHooksPath, resolveUserHooksPath, resolveUserMcpConfigPath, } from "./paths.js";
|
|
5
|
-
export { duplicatePraxisHooksWarning, hasConfiguredBeforeMcpHook, hasConfiguredHook, hasAnyPraxisHookEntry, readBeforeMcpHookConfigured, readGlobalHooksConfigured, readHookConfigured, readHooksStatusAt, readProjectHooksConfigured, upsertHookConfig, } from "./hooks-config.js";
|
|
6
|
-
export { hasConfiguredMcpServer, readMcpConfigured, upsertMcpConfig } from "./mcp-config.js";
|
|
7
|
-
export { detectInstallCommand, detectMonorepoGuardInstallCommand, hasConfiguredEnvironment, readEnvironmentConfigured, upsertEnvironmentConfig, } from "./environment-config.js";
|
|
5
|
+
export { duplicatePraxisHooksWarning, hasConfiguredBeforeMcpHook, hasConfiguredHook, hasAnyPraxisHookEntry, readBeforeMcpHookConfigured, readGlobalHooksConfigured, readHookConfigured, readHooksStatusAt, readProjectHooksConfigured, removeHookConfig, upsertHookConfig, } from "./hooks-config.js";
|
|
6
|
+
export { hasConfiguredMcpServer, readMcpConfigured, removeMcpConfig, upsertMcpConfig, } from "./mcp-config.js";
|
|
7
|
+
export { detectInstallCommand, detectMonorepoGuardInstallCommand, hasConfiguredEnvironment, readEnvironmentConfigured, removeEnvironmentConfig, upsertEnvironmentConfig, } from "./environment-config.js";
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/cursor-config/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,eAAe,EACf,OAAO,EACP,WAAW,EACX,uBAAuB,GACxB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEjH,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,iBAAiB,EACjB,qBAAqB,EACrB,2BAA2B,EAC3B,yBAAyB,EACzB,kBAAkB,EAClB,iBAAiB,EACjB,0BAA0B,EAC1B,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/cursor-config/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,eAAe,EACf,OAAO,EACP,WAAW,EACX,uBAAuB,GACxB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEjH,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,iBAAiB,EACjB,qBAAqB,EACrB,2BAA2B,EAC3B,yBAAyB,EACzB,kBAAkB,EAClB,iBAAiB,EACjB,0BAA0B,EAC1B,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,oBAAoB,EACpB,iCAAiC,EACjC,wBAAwB,EACxB,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,yBAAyB,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { referencesGuardMcp, scanHooksForLegacyGuardMcp, scanMcpForLegacyGuardMcp } from "./legacy-guard-mcp.js";
|
|
2
2
|
export { readJson } from "./json-io.js";
|
|
3
3
|
export { resolveEnvironmentJsonPath, resolveHooksConfigPath, resolveProjectHooksPath, resolveUserHooksPath, resolveUserMcpConfigPath, } from "./paths.js";
|
|
4
|
-
export { duplicatePraxisHooksWarning, hasConfiguredBeforeMcpHook, hasConfiguredHook, hasAnyPraxisHookEntry, readBeforeMcpHookConfigured, readGlobalHooksConfigured, readHookConfigured, readHooksStatusAt, readProjectHooksConfigured, upsertHookConfig, } from "./hooks-config.js";
|
|
5
|
-
export { hasConfiguredMcpServer, readMcpConfigured, upsertMcpConfig } from "./mcp-config.js";
|
|
6
|
-
export { detectInstallCommand, detectMonorepoGuardInstallCommand, hasConfiguredEnvironment, readEnvironmentConfigured, upsertEnvironmentConfig, } from "./environment-config.js";
|
|
4
|
+
export { duplicatePraxisHooksWarning, hasConfiguredBeforeMcpHook, hasConfiguredHook, hasAnyPraxisHookEntry, readBeforeMcpHookConfigured, readGlobalHooksConfigured, readHookConfigured, readHooksStatusAt, readProjectHooksConfigured, removeHookConfig, upsertHookConfig, } from "./hooks-config.js";
|
|
5
|
+
export { hasConfiguredMcpServer, readMcpConfigured, removeMcpConfig, upsertMcpConfig, } from "./mcp-config.js";
|
|
6
|
+
export { detectInstallCommand, detectMonorepoGuardInstallCommand, hasConfiguredEnvironment, readEnvironmentConfigured, removeEnvironmentConfig, upsertEnvironmentConfig, } from "./environment-config.js";
|
|
7
7
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/cursor-config/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEjH,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,iBAAiB,EACjB,qBAAqB,EACrB,2BAA2B,EAC3B,yBAAyB,EACzB,kBAAkB,EAClB,iBAAiB,EACjB,0BAA0B,EAC1B,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/cursor-config/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEjH,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,iBAAiB,EACjB,qBAAqB,EACrB,2BAA2B,EAC3B,yBAAyB,EACzB,kBAAkB,EAClB,iBAAiB,EACjB,0BAA0B,EAC1B,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,oBAAoB,EACpB,iCAAiC,EACjC,wBAAwB,EACxB,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,yBAAyB,CAAC"}
|
|
@@ -2,4 +2,6 @@ import type { JsonMap } from "./types.js";
|
|
|
2
2
|
export declare function readJson(pathname: string): Promise<JsonMap | null>;
|
|
3
3
|
export declare function writeJson(pathname: string, data: JsonMap): Promise<void>;
|
|
4
4
|
export declare function cloneJsonMap(existing: JsonMap | null): JsonMap;
|
|
5
|
+
/** Force-remove a file if present; never throws on ENOENT. */
|
|
6
|
+
export declare function removeFile(pathname: string): Promise<void>;
|
|
5
7
|
//# sourceMappingURL=json-io.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-io.d.ts","sourceRoot":"","sources":["../../../src/cli/cursor-config/json-io.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAmBxE;AAED,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAG9E;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAG9D"}
|
|
1
|
+
{"version":3,"file":"json-io.d.ts","sourceRoot":"","sources":["../../../src/cli/cursor-config/json-io.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAmBxE;AAED,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAG9E;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAG9D;AAED,8DAA8D;AAC9D,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { mkdir, readFile, writeFile } from "node:fs/promises";
|
|
1
|
+
import { mkdir, readFile, rm, writeFile } from "node:fs/promises";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
export async function readJson(pathname) {
|
|
4
4
|
try {
|
|
@@ -29,4 +29,8 @@ export function cloneJsonMap(existing) {
|
|
|
29
29
|
return {};
|
|
30
30
|
return JSON.parse(JSON.stringify(existing));
|
|
31
31
|
}
|
|
32
|
+
/** Force-remove a file if present; never throws on ENOENT. */
|
|
33
|
+
export async function removeFile(pathname) {
|
|
34
|
+
await rm(pathname, { force: true });
|
|
35
|
+
}
|
|
32
36
|
//# sourceMappingURL=json-io.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-io.js","sourceRoot":"","sources":["../../../src/cli/cursor-config/json-io.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"json-io.js","sourceRoot":"","sources":["../../../src/cli/cursor-config/json-io.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,QAAgB;IAC7C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,MAAiB,CAAC;IAC3B,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,IAAK,CAA2B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAChE,MAAM,IAAI,KAAK,CACb;YACE,mBAAmB,QAAQ,KAAK,GAAG,EAAE;YACrC,sCAAsC;YACtC,6DAA6D;SAC9D,CAAC,IAAI,CAAC,GAAG,CAAC,CACZ,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,QAAgB,EAAE,IAAa;IAC7D,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,MAAM,SAAS,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,QAAwB;IACnD,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAC;IACzB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAY,CAAC;AACzD,CAAC;AAED,8DAA8D;AAC9D,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,QAAgB;IAC/C,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AACtC,CAAC"}
|
|
@@ -2,4 +2,9 @@ import type { JsonMap, SetupResult } from "./types.js";
|
|
|
2
2
|
export declare function hasConfiguredMcpServer(config: JsonMap | null): boolean;
|
|
3
3
|
export declare function upsertMcpConfig(explicitPath?: string, dryRun?: boolean, nativeDaemon?: boolean): Promise<SetupResult>;
|
|
4
4
|
export declare function readMcpConfigured(explicitPath?: string): Promise<boolean>;
|
|
5
|
+
/**
|
|
6
|
+
* Remove the Praxis MCP server (and any legacy guard-mcp variants) from
|
|
7
|
+
* ~/.cursor/mcp.json. Prunes the mcpServers object if it becomes empty.
|
|
8
|
+
*/
|
|
9
|
+
export declare function removeMcpConfig(explicitPath?: string, dryRun?: boolean): Promise<SetupResult>;
|
|
5
10
|
//# 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;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"}
|
|
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;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,MAAM,UAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,CAgCjG"}
|