@praxis.guard/auditor-cli 0.0.43 → 0.0.45
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/LICENSE +21 -0
- package/README.md +19 -0
- package/dist/approval/mcp-flow.d.ts.map +1 -1
- package/dist/approval/mcp-flow.js +2 -1
- package/dist/approval/mcp-flow.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/function-url.d.ts +2 -2
- package/dist/cli/function-url.d.ts.map +1 -1
- package/dist/cli/function-url.js +3 -4
- package/dist/cli/function-url.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/login.d.ts.map +1 -1
- package/dist/cli/login.js +2 -3
- package/dist/cli/login.js.map +1 -1
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +6 -98
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/policies-callable-url.d.ts +3 -6
- package/dist/cli/policies-callable-url.d.ts.map +1 -1
- package/dist/cli/policies-callable-url.js +4 -8
- package/dist/cli/policies-callable-url.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/token-create.js +1 -1
- package/dist/cli/token-create.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.d.ts +28 -0
- package/dist/codex/evaluate-tool.d.ts.map +1 -0
- package/dist/codex/evaluate-tool.js +183 -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/config/default-endpoints.d.ts +6 -0
- package/dist/config/default-endpoints.d.ts.map +1 -0
- package/dist/config/default-endpoints.js +6 -0
- package/dist/config/default-endpoints.js.map +1 -0
- package/dist/hooks/before-mcp-types.d.ts +1 -1
- package/dist/hooks/before-mcp-types.d.ts.map +1 -1
- package/dist/hooks/before-shell-types.d.ts +1 -1
- package/dist/hooks/before-shell-types.d.ts.map +1 -1
- 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/mcp/evaluate-guard.d.ts.map +1 -1
- package/dist/mcp/evaluate-guard.js +8 -3
- package/dist/mcp/evaluate-guard.js.map +1 -1
- 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 +8 -1
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Praxis
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -21,6 +21,21 @@ Each `auditor setup` command auto-detects installed agents and configures all of
|
|
|
21
21
|
|-------|-----|----------------|--------------|
|
|
22
22
|
| **Cursor** (`--for=cursor`) | `~/.cursor/mcp.json` | `~/.cursor/hooks.json` (or `.cursor/hooks.json` per-project) | `.cursor/environment.json` |
|
|
23
23
|
| **Claude Desktop** (`--for=claude-desktop`) | `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) / `%APPDATA%/Claude/claude_desktop_config.json` (Windows) | — | — |
|
|
24
|
+
| **Claude Code** (`--for=claude-code`) | `~/.claude.json` | `PreToolUse` for Bash | — |
|
|
25
|
+
|
|
26
|
+
## Codex app workflow
|
|
27
|
+
|
|
28
|
+
Codex support is repo-local rather than an auto-detected host adapter:
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
auditor setup codex
|
|
32
|
+
auditor setup codex doctor
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Setup merges the Praxis MCP server into `.codex/config.toml` and installs `PreToolUse` and
|
|
36
|
+
`PermissionRequest` hooks in `.codex/hooks.json`. Open the repository in Codex and review/trust
|
|
37
|
+
the hook definitions before they can run. V1 governs Bash and MCP calls; Praxis's own `guard`
|
|
38
|
+
and `guard_wait` tools are excluded so approval requests cannot block themselves.
|
|
24
39
|
|
|
25
40
|
The MCP server tags itself with `PRAXIS_AGENT_HOST=<agent>` in its registration env so heartbeats report which host launched it. See [docs/auditor-cli-multi-agent-adapter-design.md](../../docs/auditor-cli-multi-agent-adapter-design.md) for the full design.
|
|
26
41
|
|
|
@@ -81,3 +96,7 @@ After `pnpm -C packages/auditor-cli build`, the **`auditor`** command is availab
|
|
|
81
96
|
Guard **NET decision** latency (skip / allow / deny after stdin is parsed) is documented in [`docs/auditor-cli-performance.md`](../../docs/auditor-cli-performance.md), including how to run `pnpm --filter @praxis.guard/auditor-cli test` and what the performance regression suite covers.
|
|
82
97
|
|
|
83
98
|
From the repo root: `pnpm exec auditor doctor` / `pnpm exec auditor mcp` (after `pnpm -C packages/auditor-cli build`), or `node packages/auditor-cli/dist/cli.js …`.
|
|
99
|
+
|
|
100
|
+
## License
|
|
101
|
+
|
|
102
|
+
MIT — see [LICENSE](./LICENSE).
|
|
@@ -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":"AAIA,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AASnF,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;AAMrD,wBAAsB,qBAAqB,CAAC,KAAK,EAAE;IACjD,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,YAAY,EAAE,OAAO,GAAG,KAAK,CAAC;IAC9B,iEAAiE;IACjE,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,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA2I9B;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAE/D;AAED,OAAO,EAAE,wBAAwB,EAAE,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { DEFAULT_APP_URL } from "../config/default-endpoints.js";
|
|
1
2
|
import { getInstallId } from "../cli/install-id.js";
|
|
2
3
|
import { resolveGuardStorageRoot } from "../bridge/guard-storage-root.js";
|
|
3
4
|
import { writePendingApprovalIndex } from "../bridge/pending-approval-index.js";
|
|
@@ -6,7 +7,7 @@ import { createApprovalRequest, getApprovalRequest, pollUntilApproved, } from ".
|
|
|
6
7
|
import { redeemApprovalAndRecordBridge } from "./redeem.js";
|
|
7
8
|
import { verifyApprovalGrant } from "./grant.js";
|
|
8
9
|
function defaultAppUrl() {
|
|
9
|
-
return process.env.PRAXIS_APP_URL?.trim() ||
|
|
10
|
+
return process.env.PRAXIS_APP_URL?.trim() || DEFAULT_APP_URL;
|
|
10
11
|
}
|
|
11
12
|
export async function resolveMutateApproval(input) {
|
|
12
13
|
const installId = getInstallId();
|
|
@@ -1 +1 @@
|
|
|
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;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AA6BjD,SAAS,aAAa;IACpB,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"mcp-flow.js","sourceRoot":"","sources":["../../src/approval/mcp-flow.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dispatch-hook.d.ts","sourceRoot":"","sources":["../../src/cli/dispatch-hook.ts"],"names":[],"mappings":"AAIA,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAwBpF"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { runBeforeMcpHookFromStdin } from "../hooks/run-before-mcp.js";
|
|
2
|
+
import { runBeforeShellHookFromStdin } from "../hooks/run-before-shell.js";
|
|
3
|
+
import { runClaudeCodePreToolUseHookFromStdin } from "../hooks/run-claude-code-pre-tool-use.js";
|
|
4
|
+
export async function dispatchHookCommand(name) {
|
|
5
|
+
if (name === "before-shell") {
|
|
6
|
+
await runBeforeShellHookFromStdin();
|
|
7
|
+
return true;
|
|
8
|
+
}
|
|
9
|
+
if (name === "before-mcp") {
|
|
10
|
+
await runBeforeMcpHookFromStdin();
|
|
11
|
+
return true;
|
|
12
|
+
}
|
|
13
|
+
if (name === "claude-code") {
|
|
14
|
+
await runClaudeCodePreToolUseHookFromStdin();
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
if (name === "codex-pre-tool-use") {
|
|
18
|
+
const { runCodexPreToolUseHookFromStdin } = await import("../hooks/run-codex-hooks.js");
|
|
19
|
+
await runCodexPreToolUseHookFromStdin();
|
|
20
|
+
return true;
|
|
21
|
+
}
|
|
22
|
+
if (name === "codex-permission-request") {
|
|
23
|
+
const { runCodexPermissionRequestHookFromStdin } = await import("../hooks/run-codex-hooks.js");
|
|
24
|
+
await runCodexPermissionRequestHookFromStdin();
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=dispatch-hook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dispatch-hook.js","sourceRoot":"","sources":["../../src/cli/dispatch-hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,oCAAoC,EAAE,MAAM,0CAA0C,CAAC;AAEhG,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAAwB;IAChE,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;QAC5B,MAAM,2BAA2B,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QAC1B,MAAM,yBAAyB,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;QAC3B,MAAM,oCAAoC,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAI,KAAK,oBAAoB,EAAE,CAAC;QAClC,MAAM,EAAE,+BAA+B,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACxF,MAAM,+BAA+B,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAI,KAAK,0BAA0B,EAAE,CAAC;QACxC,MAAM,EAAE,sCAAsC,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;QAC/F,MAAM,sCAAsC,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dispatch-setup.d.ts","sourceRoot":"","sources":["../../src/cli/dispatch-setup.ts"],"names":[],"mappings":"AAAA,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgCjG"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export async function dispatchSetupCommand(sub, args) {
|
|
2
|
+
if (sub === "all") {
|
|
3
|
+
const { runSetupAll } = await import("./setup-all.js");
|
|
4
|
+
await runSetupAll(args);
|
|
5
|
+
return;
|
|
6
|
+
}
|
|
7
|
+
if (sub === "hook") {
|
|
8
|
+
const { runSetupHook } = await import("./setup-hook.js");
|
|
9
|
+
await runSetupHook(args);
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
if (sub === "mcp") {
|
|
13
|
+
const { runSetupMcp } = await import("./setup-mcp.js");
|
|
14
|
+
await runSetupMcp(args);
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
if (sub === "cloud") {
|
|
18
|
+
const { runSetupCloud } = await import("./setup-cloud.js");
|
|
19
|
+
await runSetupCloud(args);
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
if (sub === "doctor") {
|
|
23
|
+
const { runSetupDoctor } = await import("./setup-doctor.js");
|
|
24
|
+
await runSetupDoctor(args);
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
if (sub === "codex") {
|
|
28
|
+
const { runSetupCodex } = await import("./setup-codex.js");
|
|
29
|
+
await runSetupCodex(args);
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
throw new Error(`Unknown setup command: ${sub ?? "(missing)"}`);
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=dispatch-setup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dispatch-setup.js","sourceRoot":"","sources":["../../src/cli/dispatch-setup.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,GAAuB,EAAE,IAAc;IAChF,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;QAClB,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACvD,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;QACxB,OAAO;IACT,CAAC;IACD,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACnB,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACzD,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;QACzB,OAAO;IACT,CAAC;IACD,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;QAClB,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACvD,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;QACxB,OAAO;IACT,CAAC;IACD,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QACpB,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC3D,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1B,OAAO;IACT,CAAC;IACD,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACrB,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAC7D,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO;IACT,CAAC;IACD,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QACpB,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC3D,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1B,OAAO;IACT,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,IAAI,WAAW,EAAE,CAAC,CAAC;AAClE,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Build the
|
|
2
|
+
* Build the Cloud Functions URL for a given function name.
|
|
3
3
|
*
|
|
4
4
|
* Respects `PRAXIS_FIREBASE_FUNCTIONS_EMULATOR_HOST` for local dev;
|
|
5
|
-
* otherwise
|
|
5
|
+
* otherwise uses the default production Functions host for the project/region.
|
|
6
6
|
*/
|
|
7
7
|
export declare function prodFunctionUrl(functionName: string): string;
|
|
8
8
|
//# sourceMappingURL=function-url.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function-url.d.ts","sourceRoot":"","sources":["../../src/cli/function-url.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"function-url.d.ts","sourceRoot":"","sources":["../../src/cli/function-url.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAW5D"}
|
package/dist/cli/function-url.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import process from "node:process";
|
|
2
|
-
|
|
3
|
-
const DEFAULT_REGION = "us-central1";
|
|
2
|
+
import { DEFAULT_PROJECT_ID, DEFAULT_REGION } from "../config/default-endpoints.js";
|
|
4
3
|
/**
|
|
5
|
-
* Build the
|
|
4
|
+
* Build the Cloud Functions URL for a given function name.
|
|
6
5
|
*
|
|
7
6
|
* Respects `PRAXIS_FIREBASE_FUNCTIONS_EMULATOR_HOST` for local dev;
|
|
8
|
-
* otherwise
|
|
7
|
+
* otherwise uses the default production Functions host for the project/region.
|
|
9
8
|
*/
|
|
10
9
|
export function prodFunctionUrl(functionName) {
|
|
11
10
|
const emuHost = process.env.PRAXIS_FIREBASE_FUNCTIONS_EMULATOR_HOST?.trim();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function-url.js","sourceRoot":"","sources":["../../src/cli/function-url.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,
|
|
1
|
+
{"version":3,"file":"function-url.js","sourceRoot":"","sources":["../../src/cli/function-url.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEpF;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,YAAoB;IAClD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,uCAAuC,EAAE,IAAI,EAAE,CAAC;IAC5E,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,IAAI,EAAE,IAAI,kBAAkB,CAAC;IACvF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,IAAI,EAAE,IAAI,cAAc,CAAC;IAEtF,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QACjD,OAAO,UAAU,IAAI,IAAI,SAAS,IAAI,MAAM,IAAI,YAAY,EAAE,CAAC;IACjE,CAAC;IAED,OAAO,WAAW,MAAM,IAAI,SAAS,uBAAuB,YAAY,EAAE,CAAC;AAC7E,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AA2DA,wBAAgB,SAAS,IAAI,IAAI,CAEhC"}
|
package/dist/cli/help.js
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import process from "node:process";
|
|
2
|
+
const HELP_TEXT = `auditor — Praxis guard CLI
|
|
3
|
+
|
|
4
|
+
Usage:
|
|
5
|
+
auditor setup all Global hook + MCP; cloud environment.json in cwd (or --project)
|
|
6
|
+
auditor setup hook Configure ~/.cursor/hooks.json (all workspaces; use --project for repo)
|
|
7
|
+
auditor setup mcp Configure ~/.cursor/mcp.json praxis-guard server
|
|
8
|
+
auditor setup cloud Configure .cursor/environment.json for Cloud Agents
|
|
9
|
+
auditor setup doctor Validate global hook + MCP setup (reports project hooks too)
|
|
10
|
+
auditor setup codex Configure repo-local .codex MCP + hooks (--project, --dry-run)
|
|
11
|
+
auditor setup codex doctor Validate repo-local Codex setup
|
|
12
|
+
auditor login Authenticate this CLI with your Praxis account (device code flow)
|
|
13
|
+
auditor logout [--revoke] Remove saved credentials (and optionally revoke token server-side)
|
|
14
|
+
auditor token create Generate a new bearer token (for Cloud Agents, CI, etc.)
|
|
15
|
+
auditor whoami Show signed-in uid, email, and token source (calls Cloud Function)
|
|
16
|
+
auditor mcp MCP stdio server (tools: guard, guard_wait) — use in Cursor mcp.json
|
|
17
|
+
auditor approvals list List pending approval requests
|
|
18
|
+
auditor approvals open <id> Print approval URL for a request
|
|
19
|
+
auditor approvals approve <id> Dev-only: approve request (GUARD_APPROVAL_DEV=1)
|
|
20
|
+
auditor approvals deny <id> Deny an approval request (human auth or dev)
|
|
21
|
+
auditor approvals watch <id> Poll until approved and write execution ticket
|
|
22
|
+
auditor hook before-shell Cursor beforeShellExecution (stdin JSON → stdout JSON)
|
|
23
|
+
auditor hook before-mcp Cursor beforeMCPExecution (stdin JSON → stdout JSON)
|
|
24
|
+
auditor hook claude-code Claude Code PreToolUse/Bash (stdin JSON → stdout JSON)
|
|
25
|
+
auditor hook codex-pre-tool-use Codex PreToolUse (Bash + MCP)
|
|
26
|
+
auditor hook codex-permission-request Codex PermissionRequest (Bash + MCP)
|
|
27
|
+
auditor doctor Show policy path, sync revision, auth status
|
|
28
|
+
auditor policies sync Fetch policies from Cloud Functions → local policies.v1.json + meta
|
|
29
|
+
auditor version Package version and git short SHA when available
|
|
30
|
+
auditor help | --help This message
|
|
31
|
+
|
|
32
|
+
Auth:
|
|
33
|
+
Token is resolved in order: PRAXIS_GUARD_TOKEN env var → ~/.config/praxis/credentials.json.
|
|
34
|
+
Run \`auditor login\` to authenticate interactively.
|
|
35
|
+
|
|
36
|
+
Defaults (production):
|
|
37
|
+
Project ID and region use built-in Praxis production values unless overridden below.
|
|
38
|
+
Function URLs are derived from project/region or explicit base-url env vars.
|
|
39
|
+
|
|
40
|
+
Local development:
|
|
41
|
+
Set PRAXIS_FIREBASE_FUNCTIONS_EMULATOR_HOST to your Functions emulator host:port.
|
|
42
|
+
|
|
43
|
+
Env (all optional):
|
|
44
|
+
PRAXIS_GUARD_TOKEN Override token (CI/CD). Skips credential file.
|
|
45
|
+
PRAXIS_FIREBASE_ID_TOKEN Alternative: Firebase Auth ID JWT for the functions project.
|
|
46
|
+
PRAXIS_FIREBASE_FUNCTIONS_EMULATOR_HOST Functions emulator host:port (local dev).
|
|
47
|
+
PRAXIS_FIREBASE_PROJECT_ID Override Firebase project id.
|
|
48
|
+
PRAXIS_FIREBASE_FUNCTIONS_REGION Override Functions region.
|
|
49
|
+
PRAXIS_FIREBASE_CALLABLE_BASE_URL Full override base URL (no trailing slash).
|
|
50
|
+
PRAXIS_GUARD_EVENT_URL Full override for guard event endpoint.
|
|
51
|
+
PRAXIS_APP_URL Web app origin for login and approval links.
|
|
52
|
+
PRAXIS_POLICIES_V1_PATH Override path for policies.v1.json (default: ~/.praxis/policies.v1.json).
|
|
53
|
+
PRAXIS_POLICIES_META_PATH Override path for policies.v1.meta.json (default beside policy file).
|
|
54
|
+
PRAXIS_GUARD_STORAGE_ROOT Workspace root for .praxis/guard tickets/pending (auto-detected from cwd).
|
|
55
|
+
PRAXIS_HOOK_INLINE_APPROVAL Set to 0 to disable hook-inline approval request on MUTATE deny (default: on).
|
|
56
|
+
PRAXIS_HOOK_INLINE_APPROVAL_TIMEOUT_MS Max ms for inline approval HTTP from hooks (default: 1200).
|
|
57
|
+
`;
|
|
58
|
+
export function printHelp() {
|
|
59
|
+
process.stdout.write(HELP_TEXT);
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=help.js.map
|
|
@@ -0,0 +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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuDjB,CAAC;AAEF,MAAM,UAAU,SAAS;IACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC"}
|
package/dist/cli/login.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/cli/login.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/cli/login.ts"],"names":[],"mappings":"AAaA,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAgD9C"}
|
package/dist/cli/login.js
CHANGED
|
@@ -2,6 +2,7 @@ import { spawn } from "node:child_process";
|
|
|
2
2
|
import os from "node:os";
|
|
3
3
|
import process from "node:process";
|
|
4
4
|
import readlinePromises from "node:readline/promises";
|
|
5
|
+
import { DEFAULT_APP_URL, DEFAULT_PROJECT_ID, DEFAULT_REGION, } from "../config/default-endpoints.js";
|
|
5
6
|
import { saveCredentials } from "./credentials.js";
|
|
6
7
|
import { getInstallId } from "./install-id.js";
|
|
7
8
|
export async function runLogin() {
|
|
@@ -24,7 +25,7 @@ export async function runLogin() {
|
|
|
24
25
|
if (!code || !deviceCode || !expiresAt) {
|
|
25
26
|
throw new Error("Auth server returned an invalid device authorization response.");
|
|
26
27
|
}
|
|
27
|
-
const authUrl = buildCliAuthUrl(process.env.PRAXIS_APP_URL ||
|
|
28
|
+
const authUrl = buildCliAuthUrl(process.env.PRAXIS_APP_URL || DEFAULT_APP_URL, code);
|
|
28
29
|
process.stdout.write(`\n`);
|
|
29
30
|
process.stdout.write(` Your one-time code: ${code}\n\n`);
|
|
30
31
|
process.stdout.write(` Open this URL to authorize:\n`);
|
|
@@ -137,8 +138,6 @@ function detectProjectId() {
|
|
|
137
138
|
return envId;
|
|
138
139
|
return null;
|
|
139
140
|
}
|
|
140
|
-
const DEFAULT_PROJECT_ID = "praxis-4cc80";
|
|
141
|
-
const DEFAULT_REGION = "us-central1";
|
|
142
141
|
function getBaseUrl() {
|
|
143
142
|
const full = process.env.PRAXIS_FIREBASE_CALLABLE_BASE_URL?.trim();
|
|
144
143
|
if (full)
|
package/dist/cli/login.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/cli/login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,CAAC,KAAK,UAAU,QAAQ;IAC5B,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAEnD,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,gBAAgB,EAAE;QACxD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE;YACvB,SAAS,EAAE,YAAY,EAAE;SAC1B,CAAC;QACF,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;KACpC,CAAC,CAAC;IAEH,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;QAClB,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,kCAAkC,SAAS,CAAC,MAAM,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAChG,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,SAAS,CAAC,IAAI,EAAE,CAI9D,CAAC;IACF,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACpF,CAAC;IAED,MAAM,OAAO,GAAG,eAAe,CAC7B,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/cli/login.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/main.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"
|
|
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,CAkH1D"}
|
package/dist/cli/main.js
CHANGED
|
@@ -1,65 +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: praxis-4cc80
|
|
40
|
-
Region: us-central1
|
|
41
|
-
Functions: https://us-central1-praxis-4cc80.cloudfunctions.net/…
|
|
42
|
-
|
|
43
|
-
Local development:
|
|
44
|
-
Set PRAXIS_FIREBASE_FUNCTIONS_EMULATOR_HOST=127.0.0.1:5001 to target the local
|
|
45
|
-
Firebase emulator instead of production.
|
|
46
|
-
|
|
47
|
-
Env (all optional):
|
|
48
|
-
PRAXIS_GUARD_TOKEN Override token (CI/CD). Skips credential file.
|
|
49
|
-
PRAXIS_FIREBASE_ID_TOKEN Alternative: Firebase Auth ID JWT for the functions project.
|
|
50
|
-
PRAXIS_FIREBASE_FUNCTIONS_EMULATOR_HOST Set to target local emulator (e.g. 127.0.0.1:5001).
|
|
51
|
-
PRAXIS_FIREBASE_PROJECT_ID Override project (default: praxis-4cc80).
|
|
52
|
-
PRAXIS_FIREBASE_FUNCTIONS_REGION Override region (default: us-central1).
|
|
53
|
-
PRAXIS_FIREBASE_CALLABLE_BASE_URL Full override base URL (no trailing slash).
|
|
54
|
-
PRAXIS_GUARD_EVENT_URL Full override for guard event endpoint.
|
|
55
|
-
PRAXIS_APP_URL Web app URL for login (default: https://praxis-app-33b40.web.app).
|
|
56
|
-
PRAXIS_POLICIES_V1_PATH Override path for policies.v1.json (default: ~/.praxis/policies.v1.json).
|
|
57
|
-
PRAXIS_POLICIES_META_PATH Override path for policies.v1.meta.json (default beside policy file).
|
|
58
|
-
PRAXIS_GUARD_STORAGE_ROOT Workspace root for .praxis/guard tickets/pending (auto-detected from cwd).
|
|
59
|
-
PRAXIS_HOOK_INLINE_APPROVAL Set to 0 to disable hook-inline approval request on MUTATE deny (default: on).
|
|
60
|
-
PRAXIS_HOOK_INLINE_APPROVAL_TIMEOUT_MS Max ms for inline approval HTTP from hooks (default: 1200).
|
|
61
|
-
`);
|
|
62
|
-
}
|
|
63
7
|
export async function runCli(argv) {
|
|
64
8
|
const a0 = argv[0];
|
|
65
9
|
const a1 = argv[1];
|
|
@@ -92,35 +36,9 @@ export async function runCli(argv) {
|
|
|
92
36
|
return;
|
|
93
37
|
}
|
|
94
38
|
if (a0 === "setup") {
|
|
95
|
-
const sub = a1;
|
|
96
|
-
const rest = argv.slice(2);
|
|
97
39
|
try {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
await runSetupAll(rest);
|
|
101
|
-
return;
|
|
102
|
-
}
|
|
103
|
-
if (sub === "hook") {
|
|
104
|
-
const { runSetupHook } = await import("./setup-hook.js");
|
|
105
|
-
await runSetupHook(rest);
|
|
106
|
-
return;
|
|
107
|
-
}
|
|
108
|
-
if (sub === "mcp") {
|
|
109
|
-
const { runSetupMcp } = await import("./setup-mcp.js");
|
|
110
|
-
await runSetupMcp(rest);
|
|
111
|
-
return;
|
|
112
|
-
}
|
|
113
|
-
if (sub === "cloud") {
|
|
114
|
-
const { runSetupCloud } = await import("./setup-cloud.js");
|
|
115
|
-
await runSetupCloud(rest);
|
|
116
|
-
return;
|
|
117
|
-
}
|
|
118
|
-
if (sub === "doctor") {
|
|
119
|
-
const { runSetupDoctor } = await import("./setup-doctor.js");
|
|
120
|
-
await runSetupDoctor(rest);
|
|
121
|
-
return;
|
|
122
|
-
}
|
|
123
|
-
throw new Error(`Unknown setup command: ${sub ?? "(missing)"}`);
|
|
40
|
+
await dispatchSetupCommand(a1, argv.slice(2));
|
|
41
|
+
return;
|
|
124
42
|
}
|
|
125
43
|
catch (e) {
|
|
126
44
|
const msg = e instanceof Error ? e.message : String(e);
|
|
@@ -178,18 +96,8 @@ export async function runCli(argv) {
|
|
|
178
96
|
await runMcpStdioServer();
|
|
179
97
|
return;
|
|
180
98
|
}
|
|
181
|
-
if (a0 === "hook" && a1
|
|
182
|
-
await runBeforeShellHookFromStdin();
|
|
183
|
-
return;
|
|
184
|
-
}
|
|
185
|
-
if (a0 === "hook" && a1 === "before-mcp") {
|
|
186
|
-
await runBeforeMcpHookFromStdin();
|
|
99
|
+
if (a0 === "hook" && (await dispatchHookCommand(a1)))
|
|
187
100
|
return;
|
|
188
|
-
}
|
|
189
|
-
if (a0 === "hook" && a1 === "claude-code") {
|
|
190
|
-
await runClaudeCodePreToolUseHookFromStdin();
|
|
191
|
-
return;
|
|
192
|
-
}
|
|
193
101
|
if (a0 === "approvals") {
|
|
194
102
|
const { runApprovals } = await import("./approvals.js");
|
|
195
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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"}
|
|
@@ -3,21 +3,18 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Resolution order:
|
|
5
5
|
* 1. `PRAXIS_FIREBASE_CALLABLE_BASE_URL` — full override (no trailing slash)
|
|
6
|
-
* 1b. `PRAXIS_FIREBASE_FUNCTIONS_CUSTOM_DOMAIN` —
|
|
6
|
+
* 1b. `PRAXIS_FIREBASE_FUNCTIONS_CUSTOM_DOMAIN` — single origin for all functions
|
|
7
7
|
* 2. `PRAXIS_FIREBASE_FUNCTIONS_EMULATOR_HOST` + project/region → local emulator
|
|
8
|
-
* 3. Default
|
|
8
|
+
* 3. Default production Functions URL from project/region
|
|
9
9
|
*/
|
|
10
10
|
export declare function policiesCallableUrl(functionName: string): string;
|
|
11
11
|
/**
|
|
12
12
|
* Plain HTTP function URL (onRequest).
|
|
13
13
|
*
|
|
14
|
-
* Unlike callables, prefer `cloudfunctions.net` in production so the CLI doesn't
|
|
15
|
-
* depend on Hosting rewrites / SSR framework deploys.
|
|
16
|
-
*
|
|
17
14
|
* Resolution order:
|
|
18
15
|
* 1. `PRAXIS_FIREBASE_HTTP_BASE_URL` — full override (no trailing slash)
|
|
19
16
|
* 2. Emulator (`PRAXIS_FIREBASE_FUNCTIONS_EMULATOR_HOST`)
|
|
20
|
-
* 3.
|
|
17
|
+
* 3. Default production Functions URL from project/region
|
|
21
18
|
*/
|
|
22
19
|
export declare function functionsHttpUrl(functionName: string): string;
|
|
23
20
|
//# sourceMappingURL=policies-callable-url.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policies-callable-url.d.ts","sourceRoot":"","sources":["../../src/cli/policies-callable-url.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"policies-callable-url.d.ts","sourceRoot":"","sources":["../../src/cli/policies-callable-url.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAqBhE;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAc7D"}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import process from "node:process";
|
|
2
|
-
|
|
3
|
-
const DEFAULT_REGION = "us-central1";
|
|
2
|
+
import { DEFAULT_PROJECT_ID, DEFAULT_REGION } from "../config/default-endpoints.js";
|
|
4
3
|
/**
|
|
5
4
|
* Callable URL for policies functions.
|
|
6
5
|
*
|
|
7
6
|
* Resolution order:
|
|
8
7
|
* 1. `PRAXIS_FIREBASE_CALLABLE_BASE_URL` — full override (no trailing slash)
|
|
9
|
-
* 1b. `PRAXIS_FIREBASE_FUNCTIONS_CUSTOM_DOMAIN` —
|
|
8
|
+
* 1b. `PRAXIS_FIREBASE_FUNCTIONS_CUSTOM_DOMAIN` — single origin for all functions
|
|
10
9
|
* 2. `PRAXIS_FIREBASE_FUNCTIONS_EMULATOR_HOST` + project/region → local emulator
|
|
11
|
-
* 3. Default
|
|
10
|
+
* 3. Default production Functions URL from project/region
|
|
12
11
|
*/
|
|
13
12
|
export function policiesCallableUrl(functionName) {
|
|
14
13
|
const full = process.env.PRAXIS_FIREBASE_CALLABLE_BASE_URL?.trim();
|
|
@@ -31,13 +30,10 @@ export function policiesCallableUrl(functionName) {
|
|
|
31
30
|
/**
|
|
32
31
|
* Plain HTTP function URL (onRequest).
|
|
33
32
|
*
|
|
34
|
-
* Unlike callables, prefer `cloudfunctions.net` in production so the CLI doesn't
|
|
35
|
-
* depend on Hosting rewrites / SSR framework deploys.
|
|
36
|
-
*
|
|
37
33
|
* Resolution order:
|
|
38
34
|
* 1. `PRAXIS_FIREBASE_HTTP_BASE_URL` — full override (no trailing slash)
|
|
39
35
|
* 2. Emulator (`PRAXIS_FIREBASE_FUNCTIONS_EMULATOR_HOST`)
|
|
40
|
-
* 3.
|
|
36
|
+
* 3. Default production Functions URL from project/region
|
|
41
37
|
*/
|
|
42
38
|
export function functionsHttpUrl(functionName) {
|
|
43
39
|
const full = process.env.PRAXIS_FIREBASE_HTTP_BASE_URL?.trim();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policies-callable-url.js","sourceRoot":"","sources":["../../src/cli/policies-callable-url.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,
|
|
1
|
+
{"version":3,"file":"policies-callable-url.js","sourceRoot":"","sources":["../../src/cli/policies-callable-url.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEpF;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAAC,YAAoB;IACtD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE,IAAI,EAAE,CAAC;IACnE,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,YAAY,EAAE,CAAC;IACtD,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,uCAAuC,EAAE,IAAI,EAAE,CAAC;IACjF,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,YAAY,EAAE,CAAC;IAC9D,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,uCAAuC,EAAE,IAAI,EAAE,CAAC;IAC5E,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,IAAI,EAAE,IAAI,kBAAkB,CAAC;IACvF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,IAAI,EAAE,IAAI,cAAc,CAAC;IAEtF,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QACjD,OAAO,UAAU,IAAI,IAAI,SAAS,IAAI,MAAM,IAAI,YAAY,EAAE,CAAC;IACjE,CAAC;IAED,OAAO,WAAW,MAAM,IAAI,SAAS,uBAAuB,YAAY,EAAE,CAAC;AAC7E,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,YAAoB;IACnD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,IAAI,EAAE,CAAC;IAC/D,IAAI,IAAI;QAAE,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,YAAY,EAAE,CAAC;IAE9D,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,uCAAuC,EAAE,IAAI,EAAE,CAAC;IAC5E,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,IAAI,EAAE,IAAI,kBAAkB,CAAC;IACvF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,IAAI,EAAE,IAAI,cAAc,CAAC;IAEtF,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QACjD,OAAO,UAAU,IAAI,IAAI,SAAS,IAAI,MAAM,IAAI,YAAY,EAAE,CAAC;IACjE,CAAC;IAED,OAAO,WAAW,MAAM,IAAI,SAAS,uBAAuB,YAAY,EAAE,CAAC;AAC7E,CAAC"}
|
|
@@ -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
|