@intutic/cli 2.1.0 → 2.3.0
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 +8 -8
- package/dist/cli.d.ts +0 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +492 -21
- package/dist/cli.js.map +1 -1
- package/dist/commands/apiCommand.d.ts +40 -0
- package/dist/commands/apiCommand.d.ts.map +1 -0
- package/dist/commands/apiCommand.js +88 -0
- package/dist/commands/apiCommand.js.map +1 -0
- package/dist/commands/budget.d.ts +4 -0
- package/dist/commands/budget.d.ts.map +1 -1
- package/dist/commands/budget.js +8 -0
- package/dist/commands/budget.js.map +1 -1
- package/dist/commands/compliance.d.ts +122 -0
- package/dist/commands/compliance.d.ts.map +1 -0
- package/dist/commands/compliance.js +278 -0
- package/dist/commands/compliance.js.map +1 -0
- package/dist/commands/connect.d.ts +26 -1
- package/dist/commands/connect.d.ts.map +1 -1
- package/dist/commands/connect.js +222 -86
- package/dist/commands/connect.js.map +1 -1
- package/dist/commands/credentials.d.ts +1 -1
- package/dist/commands/credentials.js +1 -1
- package/dist/commands/decision.d.ts +4 -4
- package/dist/commands/decision.js +4 -4
- package/dist/commands/disconnect.d.ts +29 -0
- package/dist/commands/disconnect.d.ts.map +1 -0
- package/dist/commands/disconnect.js +266 -0
- package/dist/commands/disconnect.js.map +1 -0
- package/dist/commands/doctor.d.ts +0 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +0 -1
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/enforce.d.ts +1 -1
- package/dist/commands/enforce.js +1 -1
- package/dist/commands/enterprise.d.ts +3 -2
- package/dist/commands/enterprise.d.ts.map +1 -1
- package/dist/commands/enterprise.js +11 -3
- package/dist/commands/enterprise.js.map +1 -1
- package/dist/commands/env.d.ts +1 -1
- package/dist/commands/env.d.ts.map +1 -1
- package/dist/commands/env.js +3 -8
- package/dist/commands/env.js.map +1 -1
- package/dist/commands/exec.d.ts +2 -3
- package/dist/commands/exec.d.ts.map +1 -1
- package/dist/commands/exec.js +4 -5
- package/dist/commands/exec.js.map +1 -1
- package/dist/commands/gateLiveness.d.ts +15 -0
- package/dist/commands/gateLiveness.d.ts.map +1 -0
- package/dist/commands/gateLiveness.js +34 -0
- package/dist/commands/gateLiveness.js.map +1 -0
- package/dist/commands/gateway.d.ts +16 -4
- package/dist/commands/gateway.d.ts.map +1 -1
- package/dist/commands/gateway.js +47 -6
- package/dist/commands/gateway.js.map +1 -1
- package/dist/commands/github.d.ts +20 -0
- package/dist/commands/github.d.ts.map +1 -0
- package/dist/commands/github.js +41 -0
- package/dist/commands/github.js.map +1 -0
- package/dist/commands/guardrails.d.ts +28 -2
- package/dist/commands/guardrails.d.ts.map +1 -1
- package/dist/commands/guardrails.js +233 -24
- package/dist/commands/guardrails.js.map +1 -1
- package/dist/commands/init.d.ts +1 -2
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +3 -2
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/install-daemon.d.ts +1 -1
- package/dist/commands/install-daemon.js +2 -2
- package/dist/commands/integrity.d.ts +10 -2
- package/dist/commands/integrity.d.ts.map +1 -1
- package/dist/commands/integrity.js +10 -3
- package/dist/commands/integrity.js.map +1 -1
- package/dist/commands/inventory.d.ts +60 -0
- package/dist/commands/inventory.d.ts.map +1 -0
- package/dist/commands/inventory.js +141 -0
- package/dist/commands/inventory.js.map +1 -0
- package/dist/commands/judge.d.ts +1 -1
- package/dist/commands/judge.js +2 -2
- package/dist/commands/judge.js.map +1 -1
- package/dist/commands/login.d.ts +0 -1
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +0 -1
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/logout.d.ts +0 -1
- package/dist/commands/logout.d.ts.map +1 -1
- package/dist/commands/logout.js +0 -1
- package/dist/commands/logout.js.map +1 -1
- package/dist/commands/mcp.d.ts +31 -0
- package/dist/commands/mcp.d.ts.map +1 -0
- package/dist/commands/mcp.js +65 -0
- package/dist/commands/mcp.js.map +1 -0
- package/dist/commands/notifications.d.ts +54 -0
- package/dist/commands/notifications.d.ts.map +1 -0
- package/dist/commands/notifications.js +151 -0
- package/dist/commands/notifications.js.map +1 -0
- package/dist/commands/org.d.ts +3 -3
- package/dist/commands/org.js +3 -3
- package/dist/commands/policy.d.ts +6 -1
- package/dist/commands/policy.d.ts.map +1 -1
- package/dist/commands/policy.js +77 -37
- package/dist/commands/policy.js.map +1 -1
- package/dist/commands/predict-cost.d.ts +1 -2
- package/dist/commands/predict-cost.d.ts.map +1 -1
- package/dist/commands/predict-cost.js +1 -4
- package/dist/commands/predict-cost.js.map +1 -1
- package/dist/commands/rollback.d.ts.map +1 -1
- package/dist/commands/rollback.js +3 -1
- package/dist/commands/rollback.js.map +1 -1
- package/dist/commands/routing.d.ts +1 -1
- package/dist/commands/routing.js +1 -1
- package/dist/commands/rules.d.ts +74 -0
- package/dist/commands/rules.d.ts.map +1 -0
- package/dist/commands/rules.js +283 -0
- package/dist/commands/rules.js.map +1 -0
- package/dist/commands/settings.d.ts +43 -0
- package/dist/commands/settings.d.ts.map +1 -0
- package/dist/commands/settings.js +108 -0
- package/dist/commands/settings.js.map +1 -0
- package/dist/commands/setup.d.ts +1 -1
- package/dist/commands/setup.js +1 -1
- package/dist/commands/siem.d.ts +53 -0
- package/dist/commands/siem.d.ts.map +1 -0
- package/dist/commands/siem.js +132 -0
- package/dist/commands/siem.js.map +1 -0
- package/dist/commands/skill.d.ts +5 -5
- package/dist/commands/skill.js +7 -7
- package/dist/commands/skill.js.map +1 -1
- package/dist/commands/status.d.ts +0 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +2 -3
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/syncContext.d.ts +0 -1
- package/dist/commands/syncContext.d.ts.map +1 -1
- package/dist/commands/syncContext.js +0 -1
- package/dist/commands/syncContext.js.map +1 -1
- package/dist/commands/team.d.ts +2 -2
- package/dist/commands/team.js +2 -2
- package/dist/commands/traces.d.ts +0 -3
- package/dist/commands/traces.d.ts.map +1 -1
- package/dist/commands/traces.js +0 -3
- package/dist/commands/traces.js.map +1 -1
- package/dist/commands/usage.d.ts +41 -0
- package/dist/commands/usage.d.ts.map +1 -0
- package/dist/commands/usage.js +129 -0
- package/dist/commands/usage.js.map +1 -0
- package/dist/commands/whoami.d.ts +0 -1
- package/dist/commands/whoami.d.ts.map +1 -1
- package/dist/commands/whoami.js +0 -1
- package/dist/commands/whoami.js.map +1 -1
- package/dist/config/keychain.d.ts +0 -1
- package/dist/config/keychain.d.ts.map +1 -1
- package/dist/config/keychain.js +0 -1
- package/dist/config/keychain.js.map +1 -1
- package/dist/config/paths.d.ts +0 -1
- package/dist/config/paths.d.ts.map +1 -1
- package/dist/config/paths.js +0 -1
- package/dist/config/paths.js.map +1 -1
- package/dist/config/store.d.ts +0 -1
- package/dist/config/store.d.ts.map +1 -1
- package/dist/config/store.js +0 -1
- package/dist/config/store.js.map +1 -1
- package/dist/harness/ag2.d.ts +1 -1
- package/dist/harness/ag2.js +1 -1
- package/dist/harness/agentFramework.d.ts +1 -1
- package/dist/harness/agentFramework.js +1 -1
- package/dist/harness/agenticOrchestrator.d.ts +4 -6
- package/dist/harness/agenticOrchestrator.d.ts.map +1 -1
- package/dist/harness/agenticOrchestrator.js +5 -7
- package/dist/harness/agenticOrchestrator.js.map +1 -1
- package/dist/harness/agentsMd.d.ts +24 -0
- package/dist/harness/agentsMd.d.ts.map +1 -0
- package/dist/harness/agentsMd.js +28 -0
- package/dist/harness/agentsMd.js.map +1 -0
- package/dist/harness/aider.d.ts +3 -1
- package/dist/harness/aider.d.ts.map +1 -1
- package/dist/harness/aider.js +9 -7
- package/dist/harness/aider.js.map +1 -1
- package/dist/harness/antigravity.d.ts +23 -5
- package/dist/harness/antigravity.d.ts.map +1 -1
- package/dist/harness/antigravity.js +45 -54
- package/dist/harness/antigravity.js.map +1 -1
- package/dist/harness/autogen.d.ts +1 -1
- package/dist/harness/autogen.js +2 -2
- package/dist/harness/autogen.js.map +1 -1
- package/dist/harness/claudeCode.d.ts +22 -1
- package/dist/harness/claudeCode.d.ts.map +1 -1
- package/dist/harness/claudeCode.js +47 -3
- package/dist/harness/claudeCode.js.map +1 -1
- package/dist/harness/cline.d.ts.map +1 -1
- package/dist/harness/cline.js +16 -24
- package/dist/harness/cline.js.map +1 -1
- package/dist/harness/codex.d.ts +6 -1
- package/dist/harness/codex.d.ts.map +1 -1
- package/dist/harness/codex.js +26 -28
- package/dist/harness/codex.js.map +1 -1
- package/dist/harness/continue.d.ts +10 -4
- package/dist/harness/continue.d.ts.map +1 -1
- package/dist/harness/continue.js +22 -22
- package/dist/harness/continue.js.map +1 -1
- package/dist/harness/cursor.d.ts +5 -2
- package/dist/harness/cursor.d.ts.map +1 -1
- package/dist/harness/cursor.js +19 -27
- package/dist/harness/cursor.js.map +1 -1
- package/dist/harness/detector.d.ts +0 -1
- package/dist/harness/detector.d.ts.map +1 -1
- package/dist/harness/detector.js +0 -1
- package/dist/harness/detector.js.map +1 -1
- package/dist/harness/dsh.d.ts +5 -3
- package/dist/harness/dsh.d.ts.map +1 -1
- package/dist/harness/dsh.js +17 -29
- package/dist/harness/dsh.js.map +1 -1
- package/dist/harness/eve.d.ts +3 -4
- package/dist/harness/eve.d.ts.map +1 -1
- package/dist/harness/eve.js +3 -4
- package/dist/harness/eve.js.map +1 -1
- package/dist/harness/githubCopilot.d.ts +4 -1
- package/dist/harness/githubCopilot.d.ts.map +1 -1
- package/dist/harness/githubCopilot.js +13 -24
- package/dist/harness/githubCopilot.js.map +1 -1
- package/dist/harness/goose.d.ts +7 -3
- package/dist/harness/goose.d.ts.map +1 -1
- package/dist/harness/goose.js +18 -21
- package/dist/harness/goose.js.map +1 -1
- package/dist/harness/grok.d.ts +2 -2
- package/dist/harness/grok.d.ts.map +1 -1
- package/dist/harness/grok.js +15 -28
- package/dist/harness/grok.js.map +1 -1
- package/dist/harness/hermes.d.ts +6 -0
- package/dist/harness/hermes.d.ts.map +1 -1
- package/dist/harness/hermes.js +17 -16
- package/dist/harness/hermes.js.map +1 -1
- package/dist/harness/jsSdkGatedAdapter.d.ts.map +1 -1
- package/dist/harness/jsSdkGatedAdapter.js +4 -6
- package/dist/harness/jsSdkGatedAdapter.js.map +1 -1
- package/dist/harness/langgraph.d.ts.map +1 -1
- package/dist/harness/langgraph.js +4 -6
- package/dist/harness/langgraph.js.map +1 -1
- package/dist/harness/muse.d.ts +3 -7
- package/dist/harness/muse.d.ts.map +1 -1
- package/dist/harness/muse.js +17 -39
- package/dist/harness/muse.js.map +1 -1
- package/dist/harness/n8n.d.ts +13 -7
- package/dist/harness/n8n.d.ts.map +1 -1
- package/dist/harness/n8n.js +21 -127
- package/dist/harness/n8n.js.map +1 -1
- package/dist/harness/openWebUI.d.ts.map +1 -1
- package/dist/harness/openWebUI.js +5 -4
- package/dist/harness/openWebUI.js.map +1 -1
- package/dist/harness/openaiAgents.d.ts +1 -1
- package/dist/harness/openaiAgents.d.ts.map +1 -1
- package/dist/harness/openaiAgents.js +6 -3
- package/dist/harness/openaiAgents.js.map +1 -1
- package/dist/harness/openclaw.d.ts +8 -0
- package/dist/harness/openclaw.d.ts.map +1 -1
- package/dist/harness/openclaw.js +27 -12
- package/dist/harness/openclaw.js.map +1 -1
- package/dist/harness/opencode.d.ts +4 -5
- package/dist/harness/opencode.d.ts.map +1 -1
- package/dist/harness/opencode.js +17 -34
- package/dist/harness/opencode.js.map +1 -1
- package/dist/harness/openhands.d.ts +9 -3
- package/dist/harness/openhands.d.ts.map +1 -1
- package/dist/harness/openhands.js +43 -25
- package/dist/harness/openhands.js.map +1 -1
- package/dist/harness/pi.d.ts +7 -2
- package/dist/harness/pi.d.ts.map +1 -1
- package/dist/harness/pi.js +19 -18
- package/dist/harness/pi.js.map +1 -1
- package/dist/harness/rooCode.d.ts +12 -5
- package/dist/harness/rooCode.d.ts.map +1 -1
- package/dist/harness/rooCode.js +25 -43
- package/dist/harness/rooCode.js.map +1 -1
- package/dist/harness/rulesFiles.d.ts +53 -0
- package/dist/harness/rulesFiles.d.ts.map +1 -0
- package/dist/harness/rulesFiles.js +106 -0
- package/dist/harness/rulesFiles.js.map +1 -0
- package/dist/harness/sdkGatedAdapter.d.ts.map +1 -1
- package/dist/harness/sdkGatedAdapter.js +4 -6
- package/dist/harness/sdkGatedAdapter.js.map +1 -1
- package/dist/harness/smolagents.d.ts +2 -2
- package/dist/harness/smolagents.js +3 -3
- package/dist/harness/smolagents.js.map +1 -1
- package/dist/harness/types.d.ts +20 -6
- package/dist/harness/types.d.ts.map +1 -1
- package/dist/harness/types.js +1 -95
- package/dist/harness/types.js.map +1 -1
- package/dist/harness/windsurf.d.ts +7 -2
- package/dist/harness/windsurf.d.ts.map +1 -1
- package/dist/harness/windsurf.js +22 -29
- package/dist/harness/windsurf.js.map +1 -1
- package/dist/harness/xirp.d.ts +6 -9
- package/dist/harness/xirp.d.ts.map +1 -1
- package/dist/harness/xirp.js +7 -10
- package/dist/harness/xirp.js.map +1 -1
- package/dist/lib/api.d.ts +27 -1
- package/dist/lib/api.d.ts.map +1 -1
- package/dist/lib/api.js +55 -18
- package/dist/lib/api.js.map +1 -1
- package/dist/lib/ciscoScanner.d.ts +1 -1
- package/dist/lib/ciscoScanner.js +1 -1
- package/dist/lib/decisionsLogRefresh.d.ts.map +1 -1
- package/dist/lib/decisionsLogRefresh.js +6 -7
- package/dist/lib/decisionsLogRefresh.js.map +1 -1
- package/dist/lib/deviceReport.d.ts +15 -0
- package/dist/lib/deviceReport.d.ts.map +1 -1
- package/dist/lib/deviceReport.js +30 -0
- package/dist/lib/deviceReport.js.map +1 -1
- package/dist/lib/envInjector.d.ts +16 -6
- package/dist/lib/envInjector.d.ts.map +1 -1
- package/dist/lib/envInjector.js +99 -88
- package/dist/lib/envInjector.js.map +1 -1
- package/dist/lib/gitHooks.d.ts +0 -1
- package/dist/lib/gitHooks.d.ts.map +1 -1
- package/dist/lib/gitHooks.js +8 -9
- package/dist/lib/gitHooks.js.map +1 -1
- package/dist/lib/gracefulShutdown.d.ts +1 -1
- package/dist/lib/gracefulShutdown.js +1 -1
- package/dist/lib/hash.d.ts +0 -1
- package/dist/lib/hash.d.ts.map +1 -1
- package/dist/lib/hash.js +0 -1
- package/dist/lib/hash.js.map +1 -1
- package/dist/lib/inventory.d.ts +47 -0
- package/dist/lib/inventory.d.ts.map +1 -0
- package/dist/lib/inventory.js +106 -0
- package/dist/lib/inventory.js.map +1 -0
- package/dist/lib/logger.d.ts +0 -1
- package/dist/lib/logger.d.ts.map +1 -1
- package/dist/lib/logger.js +0 -1
- package/dist/lib/logger.js.map +1 -1
- package/dist/lib/mdmManifest.d.ts +30 -2
- package/dist/lib/mdmManifest.d.ts.map +1 -1
- package/dist/lib/mdmManifest.js +50 -2
- package/dist/lib/mdmManifest.js.map +1 -1
- package/dist/lib/onboarding.d.ts +0 -1
- package/dist/lib/onboarding.d.ts.map +1 -1
- package/dist/lib/onboarding.js +2 -3
- package/dist/lib/onboarding.js.map +1 -1
- package/dist/lib/otelPropagation.d.ts +1 -1
- package/dist/lib/otelPropagation.js +1 -1
- package/dist/lib/policySnapshot.d.ts +3 -1
- package/dist/lib/policySnapshot.d.ts.map +1 -1
- package/dist/lib/policySnapshot.js +15 -5
- package/dist/lib/policySnapshot.js.map +1 -1
- package/dist/lib/process.d.ts +5 -1
- package/dist/lib/process.d.ts.map +1 -1
- package/dist/lib/process.js +13 -4
- package/dist/lib/process.js.map +1 -1
- package/dist/lib/providerProbe.d.ts +2 -2
- package/dist/lib/providerProbe.js +2 -2
- package/dist/lib/sandbox/firecracker.d.ts +3 -3
- package/dist/lib/sandbox/firecracker.js +3 -3
- package/dist/lib/sandbox/index.d.ts +2 -2
- package/dist/lib/sandbox/index.js +2 -2
- package/dist/lib/sandbox/oci.d.ts +1 -1
- package/dist/lib/sandbox/oci.js +1 -1
- package/dist/lib/sandbox/types.d.ts +1 -1
- package/dist/lib/sandbox/types.js +1 -1
- package/dist/lib/sopFrontMatter.d.ts +1 -1
- package/dist/lib/sopFrontMatter.js +1 -1
- package/package.json +6 -5
- package/resources/sandbox/Dockerfile +1 -1
- package/resources/sandbox/entrypoint.sh +4 -4
- package/resources/sandbox/firecracker-launch.sh +1 -1
- package/dist/harness/base.d.ts +0 -20
- package/dist/harness/base.d.ts.map +0 -1
- package/dist/harness/base.js +0 -73
- package/dist/harness/base.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/commands/gateway.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/commands/gateway.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `intutic github webhook` — the GitHub pull-request webhook that feeds cost
|
|
3
|
+
* per pull request without a GitHub token.
|
|
4
|
+
*
|
|
5
|
+
* Subcommands:
|
|
6
|
+
* - `intutic github webhook show [--json]` — the payload URL and when the secret was made
|
|
7
|
+
* - `intutic github webhook rotate-secret [--json]` — make the webhook, or replace its secret; prints the secret once
|
|
8
|
+
*
|
|
9
|
+
* Server side: `GET /api/v1/integrations/github/webhook` and
|
|
10
|
+
* `POST /api/v1/integrations/github/webhook/secret`, OWNER and ADMIN on a plan
|
|
11
|
+
* with fleet analytics.
|
|
12
|
+
*
|
|
13
|
+
* @module
|
|
14
|
+
*/
|
|
15
|
+
import { type ApiCommandOpts } from './apiCommand.js';
|
|
16
|
+
/** `intutic github webhook show` */
|
|
17
|
+
export declare function runGithubWebhookShow(opts: ApiCommandOpts): Promise<void>;
|
|
18
|
+
/** `intutic github webhook rotate-secret` */
|
|
19
|
+
export declare function runGithubWebhookRotateSecret(opts: ApiCommandOpts): Promise<void>;
|
|
20
|
+
//# sourceMappingURL=github.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../src/commands/github.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,EAAqC,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAKxF,oCAAoC;AACpC,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB9E;AAED,6CAA6C;AAC7C,wBAAsB,4BAA4B,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAYtF"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `intutic github webhook` — the GitHub pull-request webhook that feeds cost
|
|
3
|
+
* per pull request without a GitHub token.
|
|
4
|
+
*
|
|
5
|
+
* Subcommands:
|
|
6
|
+
* - `intutic github webhook show [--json]` — the payload URL and when the secret was made
|
|
7
|
+
* - `intutic github webhook rotate-secret [--json]` — make the webhook, or replace its secret; prints the secret once
|
|
8
|
+
*
|
|
9
|
+
* Server side: `GET /api/v1/integrations/github/webhook` and
|
|
10
|
+
* `POST /api/v1/integrations/github/webhook/secret`, OWNER and ADMIN on a plan
|
|
11
|
+
* with fleet analytics.
|
|
12
|
+
*
|
|
13
|
+
* @module
|
|
14
|
+
*/
|
|
15
|
+
import { log } from '../lib/logger.js';
|
|
16
|
+
import { printSigningSecret, runApiCommand } from './apiCommand.js';
|
|
17
|
+
const STEPS = 'In GitHub: Settings › Webhooks › Add webhook. Paste the payload URL, choose application/json, paste the secret, and select the "Pull requests" event only.';
|
|
18
|
+
/** `intutic github webhook show` */
|
|
19
|
+
export async function runGithubWebhookShow(opts) {
|
|
20
|
+
await runApiCommand(opts, 'Failed to read the GitHub webhook', (client) => client.get('/api/v1/integrations/github/webhook'), (info) => {
|
|
21
|
+
log.header('Intutic — GitHub pull-request webhook');
|
|
22
|
+
if (!info.configured || !info.url) {
|
|
23
|
+
log.dim(' Not set up. `intutic github webhook rotate-secret` makes it and prints its secret.');
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
log.field('Payload URL', info.url);
|
|
27
|
+
log.field('Secret made', info.secretRotatedAt ?? '—');
|
|
28
|
+
log.field('Last delivery', info.lastDeliveryAt ?? 'never');
|
|
29
|
+
log.dim(` ${STEPS}`);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
/** `intutic github webhook rotate-secret` */
|
|
33
|
+
export async function runGithubWebhookRotateSecret(opts) {
|
|
34
|
+
await runApiCommand(opts, 'Failed to make the GitHub webhook secret', (client) => client.post('/api/v1/integrations/github/webhook/secret'), (made) => {
|
|
35
|
+
log.success('GitHub webhook secret made; deliveries signed with any earlier secret are refused from now on.');
|
|
36
|
+
log.field('Payload URL', made.url);
|
|
37
|
+
printSigningSecret(made.secret);
|
|
38
|
+
log.dim(` ${STEPS}`);
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=github.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/commands/github.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAuB,MAAM,iBAAiB,CAAA;AAExF,MAAM,KAAK,GACT,4JAA4J,CAAA;AAE9J,oCAAoC;AACpC,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAAoB;IAC7D,MAAM,aAAa,CACjB,IAAI,EACJ,mCAAmC,EACnC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAoB,qCAAqC,CAAC,EAChF,CAAC,IAAI,EAAE,EAAE;QACP,GAAG,CAAC,MAAM,CAAC,uCAAuC,CAAC,CAAA;QACnD,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAClC,GAAG,CAAC,GAAG,CAAC,sFAAsF,CAAC,CAAA;YAC/F,OAAM;QACR,CAAC;QACD,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;QAClC,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,eAAe,IAAI,GAAG,CAAC,CAAA;QACrD,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,IAAI,CAAC,cAAc,IAAI,OAAO,CAAC,CAAA;QAC1D,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,CAAA;IACvB,CAAC,CACF,CAAA;AACH,CAAC;AAED,6CAA6C;AAC7C,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,IAAoB;IACrE,MAAM,aAAa,CACjB,IAAI,EACJ,0CAA0C,EAC1C,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAsB,4CAA4C,CAAC,EAC1F,CAAC,IAAI,EAAE,EAAE;QACP,GAAG,CAAC,OAAO,CAAC,gGAAgG,CAAC,CAAA;QAC7G,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;QAClC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC/B,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,CAAA;IACvB,CAAC,CACF,CAAA;AACH,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `intutic guardrails` — the Policy Clause Ledger from the terminal
|
|
3
|
-
*
|
|
2
|
+
* `intutic guardrails` — the Policy Clause Ledger from the terminal:
|
|
3
|
+
* sources, documents, the review queue, and the three
|
|
4
4
|
* decisions that move a cited guardrail. A client of
|
|
5
5
|
* `/api/v1/policy-guardrails/*` and `/api/v1/connectors`; nothing here
|
|
6
6
|
* decides anything the server would not.
|
|
@@ -40,6 +40,7 @@ export declare function runGuardrailsDuplicates(opts: CommonOpts & {
|
|
|
40
40
|
export declare function runGuardrailsList(opts: CommonOpts & {
|
|
41
41
|
status?: string;
|
|
42
42
|
target?: string;
|
|
43
|
+
provenance?: string;
|
|
43
44
|
doc?: string;
|
|
44
45
|
limit?: string;
|
|
45
46
|
}): Promise<void>;
|
|
@@ -53,6 +54,31 @@ export declare function runGuardrailsReject(guardrailId: string, opts: CommonOpt
|
|
|
53
54
|
}): Promise<void>;
|
|
54
55
|
export declare function runGuardrailsRetire(guardrailId: string, opts: CommonOpts): Promise<void>;
|
|
55
56
|
export declare function runGuardrailsReconfirm(guardrailId: string, opts: CommonOpts): Promise<void>;
|
|
57
|
+
export interface AuthorOpts extends CommonOpts {
|
|
58
|
+
file?: string;
|
|
59
|
+
name?: string;
|
|
60
|
+
description?: string;
|
|
61
|
+
clearDescription?: boolean;
|
|
62
|
+
kind?: string;
|
|
63
|
+
title?: string;
|
|
64
|
+
tools?: string;
|
|
65
|
+
tokens?: string;
|
|
66
|
+
argContains?: string[];
|
|
67
|
+
argNotContains?: string[];
|
|
68
|
+
first?: string;
|
|
69
|
+
then?: string;
|
|
70
|
+
token?: string;
|
|
71
|
+
limit?: string;
|
|
72
|
+
taint?: string;
|
|
73
|
+
roles?: string;
|
|
74
|
+
models?: string;
|
|
75
|
+
hosts?: string;
|
|
76
|
+
rationale?: string;
|
|
77
|
+
predicate?: string;
|
|
78
|
+
}
|
|
79
|
+
export declare function runGuardrailsCreate(opts: AuthorOpts): Promise<void>;
|
|
80
|
+
export declare function runGuardrailsUpdate(guardrailId: string, opts: AuthorOpts): Promise<void>;
|
|
81
|
+
export declare function runGuardrailsDelete(guardrailId: string, opts: CommonOpts): Promise<void>;
|
|
56
82
|
export declare function runGuardrailsReplay(guardrailId: string, opts: CommonOpts): Promise<void>;
|
|
57
83
|
export declare function runGuardrailsConflicts(opts: CommonOpts): Promise<void>;
|
|
58
84
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guardrails.d.ts","sourceRoot":"","sources":["../../src/commands/guardrails.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"guardrails.d.ts","sourceRoot":"","sources":["../../src/commands/guardrails.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `intutic guardrails` — the Policy Clause Ledger from the terminal
|
|
3
|
-
*
|
|
2
|
+
* `intutic guardrails` — the Policy Clause Ledger from the terminal:
|
|
3
|
+
* sources, documents, the review queue, and the three
|
|
4
4
|
* decisions that move a cited guardrail. A client of
|
|
5
5
|
* `/api/v1/policy-guardrails/*` and `/api/v1/connectors`; nothing here
|
|
6
6
|
* decides anything the server would not.
|
|
@@ -13,17 +13,26 @@
|
|
|
13
13
|
import { readFile, writeFile, mkdir, readdir, unlink } from 'node:fs/promises';
|
|
14
14
|
import { createHash } from 'node:crypto';
|
|
15
15
|
import { join } from 'node:path';
|
|
16
|
+
import { parse as parseYaml } from 'yaml';
|
|
16
17
|
import { log } from '../lib/logger.js';
|
|
17
18
|
import { parseSopFile, withContentHash } from '../lib/sopFrontMatter.js';
|
|
18
19
|
import { NOT_AUTHENTICATED } from '../lib/authMessages.js';
|
|
19
20
|
import { loadCredentials, loadConfig } from '../config/store.js';
|
|
20
21
|
import { resolveControlPlaneUrl } from '../config/paths.js';
|
|
21
22
|
import { createApiClient } from '../lib/api.js';
|
|
22
|
-
import { SOURCE_PROVIDERS, GUARDRAIL_STATUSES, GUARDRAIL_TARGETS, guardrailIdFromSopTitle, guardrailFileStem, } from '@intutic/shared-types';
|
|
23
|
+
import { SOURCE_PROVIDERS, GUARDRAIL_STATUSES, GUARDRAIL_TARGETS, GUARDRAIL_PROVENANCES, AuthoredGuardrailCreateSchema, AuthoredGuardrailUpdateSchema, guardrailIdFromSopTitle, guardrailFileStem, } from '@intutic/shared-types';
|
|
23
24
|
const BASE = '/api/v1/policy-guardrails';
|
|
24
25
|
function errMessage(err) {
|
|
25
26
|
return err instanceof Error ? err.message : String(err);
|
|
26
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* What the server said went wrong: `detail` when it gives one (a 403 from
|
|
30
|
+
* the role check says only `error: 'Forbidden'` and names the roles that may
|
|
31
|
+
* in `detail`), else `error`.
|
|
32
|
+
*/
|
|
33
|
+
function said(body) {
|
|
34
|
+
return body.detail ?? body.error;
|
|
35
|
+
}
|
|
27
36
|
async function getClient(dev) {
|
|
28
37
|
const creds = await loadCredentials();
|
|
29
38
|
if (!creds) {
|
|
@@ -133,21 +142,18 @@ export async function runGuardrailsSourcesAdd(provider, opts) {
|
|
|
133
142
|
export async function runGuardrailsSourcesSync(connectorId, opts) {
|
|
134
143
|
const client = await getClient(opts.dev);
|
|
135
144
|
try {
|
|
145
|
+
// What POST /api/v1/connectors/:connectorId/sync answers (routes/connectors.ts).
|
|
136
146
|
const res = await client.post(`/api/v1/connectors/${enc(connectorId)}/sync`, {});
|
|
137
147
|
if (opts.json) {
|
|
138
148
|
emitJson(res);
|
|
139
149
|
return;
|
|
140
150
|
}
|
|
141
151
|
log.success(`Synced ${connectorId}.`);
|
|
142
|
-
log.field('Documents processed', String(res.
|
|
143
|
-
log.field('
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
if (res.upstreamDeleted?.length)
|
|
148
|
-
log.field('Upstream deleted', res.upstreamDeleted.join(', '));
|
|
149
|
-
if (res.staleGuardrailIds?.length)
|
|
150
|
-
log.warn(`${res.staleGuardrailIds.length} guardrail citation(s) went stale: ${res.staleGuardrailIds.join(', ')}`);
|
|
152
|
+
log.field('Documents processed', String(res.processed_docs));
|
|
153
|
+
log.field('SOPs written', String(res.updated_sops.length));
|
|
154
|
+
if (res.successor_sops.length > 0) {
|
|
155
|
+
log.field('Upstream successors', `${res.successor_sops.length} draft(s) for review: ${res.successor_sops.join(', ')}`);
|
|
156
|
+
}
|
|
151
157
|
}
|
|
152
158
|
catch (err) {
|
|
153
159
|
log.error(`Failed to sync source: ${errMessage(err)}`);
|
|
@@ -187,7 +193,7 @@ export async function runGuardrailsDocsShow(docId, opts) {
|
|
|
187
193
|
process.exit(1);
|
|
188
194
|
}
|
|
189
195
|
if (status !== 200 || !body.document) {
|
|
190
|
-
log.error(`Failed to load document (${status}): ${body
|
|
196
|
+
log.error(`Failed to load document (${status}): ${said(body) ?? 'unknown error'}`);
|
|
191
197
|
process.exit(1);
|
|
192
198
|
}
|
|
193
199
|
const d = body.document;
|
|
@@ -221,7 +227,7 @@ export async function runGuardrailsDocsExtract(docId, opts) {
|
|
|
221
227
|
process.exit(1);
|
|
222
228
|
}
|
|
223
229
|
if (status === 403) {
|
|
224
|
-
log.error(body
|
|
230
|
+
log.error(said(body) ?? 'Extraction needs a paid plan or an active trial.');
|
|
225
231
|
process.exit(1);
|
|
226
232
|
}
|
|
227
233
|
if (status === 429) {
|
|
@@ -229,7 +235,7 @@ export async function runGuardrailsDocsExtract(docId, opts) {
|
|
|
229
235
|
process.exit(1);
|
|
230
236
|
}
|
|
231
237
|
if (status !== 200 || !body.result) {
|
|
232
|
-
log.error(`Extraction failed (${status}): ${body
|
|
238
|
+
log.error(`Extraction failed (${status}): ${said(body) ?? 'unknown error'}`);
|
|
233
239
|
process.exit(1);
|
|
234
240
|
}
|
|
235
241
|
const r = body.result;
|
|
@@ -410,6 +416,13 @@ export async function runGuardrailsList(opts) {
|
|
|
410
416
|
}
|
|
411
417
|
params.set('target', opts.target);
|
|
412
418
|
}
|
|
419
|
+
if (opts.provenance !== undefined) {
|
|
420
|
+
if (!GUARDRAIL_PROVENANCES.includes(opts.provenance)) {
|
|
421
|
+
log.error(`--provenance must be one of ${GUARDRAIL_PROVENANCES.join(', ')}.`);
|
|
422
|
+
process.exit(1);
|
|
423
|
+
}
|
|
424
|
+
params.set('provenance', opts.provenance);
|
|
425
|
+
}
|
|
413
426
|
if (opts.doc)
|
|
414
427
|
params.set('docId', opts.doc);
|
|
415
428
|
if (opts.limit !== undefined) {
|
|
@@ -443,12 +456,18 @@ export async function runGuardrailsList(opts) {
|
|
|
443
456
|
const ir = g.ir;
|
|
444
457
|
const title = ir.title ?? ir.kind;
|
|
445
458
|
log.field(`${g.guardrailId} [${g.status}${g.sourceStale ? ', stale' : ''}]`, `${g.target} — ${title}`);
|
|
446
|
-
log.dim(`
|
|
459
|
+
log.dim(` ${standsOn(g)}`);
|
|
447
460
|
if (g.status === 'SHADOW')
|
|
448
461
|
log.dim(` shadow: ${g.shadowEvaluations} evaluation(s), ${g.shadowWouldAct} would-act`);
|
|
449
462
|
}
|
|
450
463
|
log.info(`${guardrails.length} guardrail(s).`);
|
|
451
464
|
}
|
|
465
|
+
/** What a guardrail stands on, in one line: its quote and document, or — authored — its name, description and version. */
|
|
466
|
+
function standsOn(g) {
|
|
467
|
+
if (g.clause && g.document)
|
|
468
|
+
return `"${g.clause.quote}" — ${g.document.title}${g.document.sourceUrl ? ` ${g.document.sourceUrl}` : ''}`;
|
|
469
|
+
return `authored: ${g.name ?? g.guardrailId}${g.description ? ` — "${g.description}"` : ''}, version ${g.version}`;
|
|
470
|
+
}
|
|
452
471
|
function printReadiness(r) {
|
|
453
472
|
log.field('Ready to enforce', r.ready ? (r.neverFired ? 'yes — but no observed traffic exercised it; promote with --acknowledge-no-traffic' : 'yes') : 'no');
|
|
454
473
|
log.field('Shadow evaluations', `${r.evaluations}/${r.thresholds.minShadowEvaluations}`);
|
|
@@ -465,7 +484,7 @@ export async function runGuardrailsShow(guardrailId, opts) {
|
|
|
465
484
|
process.exit(1);
|
|
466
485
|
}
|
|
467
486
|
if (status !== 200 || !body.guardrail) {
|
|
468
|
-
log.error(`Failed to load guardrail (${status}): ${body
|
|
487
|
+
log.error(`Failed to load guardrail (${status}): ${said(body) ?? 'unknown error'}`);
|
|
469
488
|
process.exit(1);
|
|
470
489
|
}
|
|
471
490
|
const g = body.guardrail;
|
|
@@ -485,8 +504,17 @@ export async function runGuardrailsShow(guardrailId, opts) {
|
|
|
485
504
|
const ir = g.ir;
|
|
486
505
|
log.header(`Intutic — ${ir.title ?? ir.kind}`);
|
|
487
506
|
log.field('Guardrail', `${g.guardrailId} [${g.status}${g.sourceStale ? ', stale citation' : ''}] ${g.target}`);
|
|
488
|
-
|
|
489
|
-
|
|
507
|
+
if (g.clause && g.document) {
|
|
508
|
+
log.field('Cites', `"${g.clause.quote}"`);
|
|
509
|
+
log.field('From', `${g.document.title} (${g.document.provider})${g.document.sourceUrl ? ` ${g.document.sourceUrl}` : ''} — passage ${g.clause.passageHash.slice(0, 12)}`);
|
|
510
|
+
}
|
|
511
|
+
else {
|
|
512
|
+
log.field('Authored', `${g.name ?? g.guardrailId}, version ${g.version}${g.supersedes ? ` (replaced ${g.supersedes})` : ''}`);
|
|
513
|
+
if (g.description)
|
|
514
|
+
log.field('Description', g.description);
|
|
515
|
+
}
|
|
516
|
+
if (g.supersededBy)
|
|
517
|
+
log.field('Superseded by', `${g.supersededBy} — an IR edit created the next version`);
|
|
490
518
|
const rendered = g.rendered;
|
|
491
519
|
if (g.target === 'hook_rule' && rendered.toolPattern) {
|
|
492
520
|
log.field('Tool pattern', rendered.toolPattern);
|
|
@@ -505,7 +533,7 @@ export async function runGuardrailsShow(guardrailId, opts) {
|
|
|
505
533
|
log.dim(` ${line}`);
|
|
506
534
|
}
|
|
507
535
|
else if (g.target === 'workspace_setting' && rendered.key && Array.isArray(rendered.values)) {
|
|
508
|
-
// A settings-class guardrail
|
|
536
|
+
// A settings-class guardrail is a proposed value for one workspace setting.
|
|
509
537
|
log.field('Workspace setting', `${rendered.key}: ${rendered.values.join(', ')}`);
|
|
510
538
|
if (rendered.key === 'egressAllow') {
|
|
511
539
|
log.dim(' No shadow evidence exists for egress: `promote --acknowledge-no-traffic` adds these entries from PROPOSED, and only adds.');
|
|
@@ -533,17 +561,17 @@ async function transition(guardrailId, action, body, opts, done) {
|
|
|
533
561
|
process.exit(1);
|
|
534
562
|
}
|
|
535
563
|
if (status === 403) {
|
|
536
|
-
log.error(res
|
|
564
|
+
log.error(said(res) ?? 'Refused: a guardrail transition needs a signed-in member of the workspace.');
|
|
537
565
|
process.exit(1);
|
|
538
566
|
}
|
|
539
567
|
if (status === 409) {
|
|
540
|
-
log.error(res
|
|
568
|
+
log.error(said(res) ?? `Refused (${res.code ?? 'conflict'}).`);
|
|
541
569
|
if (res.readiness)
|
|
542
570
|
printReadiness(res.readiness);
|
|
543
571
|
process.exit(1);
|
|
544
572
|
}
|
|
545
573
|
if (status !== 200 || !res.guardrail) {
|
|
546
|
-
log.error(`${action} failed (${status}): ${res
|
|
574
|
+
log.error(`${action} failed (${status}): ${said(res) ?? 'unknown error'}`);
|
|
547
575
|
process.exit(1);
|
|
548
576
|
}
|
|
549
577
|
if (opts.json) {
|
|
@@ -581,6 +609,187 @@ export async function runGuardrailsRetire(guardrailId, opts) {
|
|
|
581
609
|
export async function runGuardrailsReconfirm(guardrailId, opts) {
|
|
582
610
|
await transition(guardrailId, 'reconfirm', {}, opts, 'citation re-confirmed against a live passage.');
|
|
583
611
|
}
|
|
612
|
+
/** The IR flags, by the IR key each one sets. */
|
|
613
|
+
const IR_FLAGS = ['title', 'tools', 'tokens', 'argContains', 'argNotContains', 'first', 'then', 'token', 'limit', 'taint', 'roles', 'models', 'hosts', 'rationale', 'predicate'];
|
|
614
|
+
const list = (v) => v
|
|
615
|
+
.split(',')
|
|
616
|
+
.map((x) => x.trim())
|
|
617
|
+
.filter((x) => x.length > 0);
|
|
618
|
+
function fail(message) {
|
|
619
|
+
log.error(message);
|
|
620
|
+
process.exit(1);
|
|
621
|
+
}
|
|
622
|
+
/** An IR from flags: `--kind` plus the keys that kind takes. The server's validator decides whether the result is a rule. */
|
|
623
|
+
function irFromFlags(opts) {
|
|
624
|
+
const given = IR_FLAGS.filter((f) => opts[f] !== undefined);
|
|
625
|
+
if (opts.kind === undefined) {
|
|
626
|
+
if (given.length > 0)
|
|
627
|
+
fail(`--${given[0].replace(/[A-Z]/g, (c) => `-${c.toLowerCase()}`)} needs --kind.`);
|
|
628
|
+
return null;
|
|
629
|
+
}
|
|
630
|
+
const ir = { kind: opts.kind };
|
|
631
|
+
if (opts.title !== undefined)
|
|
632
|
+
ir.title = opts.title;
|
|
633
|
+
if (opts.tools !== undefined)
|
|
634
|
+
ir.tools = list(opts.tools);
|
|
635
|
+
if (opts.tokens !== undefined)
|
|
636
|
+
ir.tokens = list(opts.tokens);
|
|
637
|
+
if (opts.argContains !== undefined)
|
|
638
|
+
ir.argContains = opts.argContains;
|
|
639
|
+
if (opts.argNotContains !== undefined)
|
|
640
|
+
ir.argNotContains = opts.argNotContains;
|
|
641
|
+
if (opts.first !== undefined)
|
|
642
|
+
ir.first = opts.first;
|
|
643
|
+
if (opts.then !== undefined)
|
|
644
|
+
ir.then = opts.then;
|
|
645
|
+
if (opts.token !== undefined)
|
|
646
|
+
ir.token = opts.token;
|
|
647
|
+
if (opts.limit !== undefined) {
|
|
648
|
+
const n = Number(opts.limit);
|
|
649
|
+
if (!Number.isInteger(n))
|
|
650
|
+
fail('--limit must be an integer.');
|
|
651
|
+
ir.limit = n;
|
|
652
|
+
}
|
|
653
|
+
if (opts.taint !== undefined)
|
|
654
|
+
ir.taint = opts.taint;
|
|
655
|
+
if (opts.roles !== undefined)
|
|
656
|
+
ir.roles = list(opts.roles);
|
|
657
|
+
if (opts.models !== undefined)
|
|
658
|
+
ir.models = list(opts.models);
|
|
659
|
+
if (opts.hosts !== undefined)
|
|
660
|
+
ir.hosts = list(opts.hosts);
|
|
661
|
+
if (opts.rationale !== undefined)
|
|
662
|
+
ir.rationale = opts.rationale;
|
|
663
|
+
if (opts.predicate !== undefined) {
|
|
664
|
+
try {
|
|
665
|
+
ir.predicate = JSON.parse(opts.predicate);
|
|
666
|
+
}
|
|
667
|
+
catch (err) {
|
|
668
|
+
fail(`--predicate must be JSON: ${errMessage(err)}`);
|
|
669
|
+
}
|
|
670
|
+
}
|
|
671
|
+
// The schema pins a generated or authored predicate to re-ask; there is nothing to choose.
|
|
672
|
+
if (opts.kind === 'wasm_predicate')
|
|
673
|
+
ir.verdict = 3;
|
|
674
|
+
return ir;
|
|
675
|
+
}
|
|
676
|
+
/** `--file`: YAML or JSON (YAML reads both). A top-level `kind` is a bare IR; otherwise `{ name?, description?, ir }`. */
|
|
677
|
+
async function readAuthoredFile(file) {
|
|
678
|
+
let parsed;
|
|
679
|
+
try {
|
|
680
|
+
parsed = parseYaml(await readFile(file, 'utf8'));
|
|
681
|
+
}
|
|
682
|
+
catch (err) {
|
|
683
|
+
fail(`Could not read ${file}: ${errMessage(err)}`);
|
|
684
|
+
}
|
|
685
|
+
if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed))
|
|
686
|
+
fail(`${file} must hold an object: an IR with a \`kind\`, or { name, description, ir }.`);
|
|
687
|
+
const obj = parsed;
|
|
688
|
+
if ('kind' in obj)
|
|
689
|
+
return { ir: obj };
|
|
690
|
+
const extra = Object.keys(obj).filter((k) => !['name', 'description', 'ir'].includes(k));
|
|
691
|
+
if (extra.length > 0)
|
|
692
|
+
fail(`${file}: unknown key(s) ${extra.join(', ')}; a guardrail file holds name, description and ir.`);
|
|
693
|
+
return obj;
|
|
694
|
+
}
|
|
695
|
+
/** The fields a create or an update sends: the file first, flags over it. */
|
|
696
|
+
async function authoredFields(opts) {
|
|
697
|
+
const fromFile = opts.file ? await readAuthoredFile(opts.file) : {};
|
|
698
|
+
const flagIr = irFromFlags(opts);
|
|
699
|
+
if (flagIr && fromFile.ir !== undefined)
|
|
700
|
+
fail('Give the IR with --file or with --kind and its flags, not both.');
|
|
701
|
+
if (opts.description !== undefined && opts.clearDescription)
|
|
702
|
+
fail('--description and --clear-description contradict each other.');
|
|
703
|
+
const body = {};
|
|
704
|
+
const name = opts.name ?? fromFile.name;
|
|
705
|
+
if (name !== undefined)
|
|
706
|
+
body.name = typeof name === 'string' ? name.trim() : name;
|
|
707
|
+
const description = opts.clearDescription ? null : (opts.description ?? fromFile.description);
|
|
708
|
+
if (description !== undefined)
|
|
709
|
+
body.description = description;
|
|
710
|
+
const ir = flagIr ?? fromFile.ir;
|
|
711
|
+
if (ir !== undefined)
|
|
712
|
+
body.ir = ir;
|
|
713
|
+
return body;
|
|
714
|
+
}
|
|
715
|
+
function zodMessage(error) {
|
|
716
|
+
const first = error.issues[0];
|
|
717
|
+
return `${first?.path.length ? `${first.path.join('.')}: ` : ''}${first?.message ?? 'invalid'}`;
|
|
718
|
+
}
|
|
719
|
+
function printChecks(checks) {
|
|
720
|
+
for (const c of checks)
|
|
721
|
+
log.dim(` ${c.passed ? '✓' : '✗'} ${c.name}${c.passed ? '' : ` — ${c.detail}`}`);
|
|
722
|
+
}
|
|
723
|
+
/** The answers an authored write shares: 400 with the refusing check, 403, 404, 409 with a code. */
|
|
724
|
+
function reportWriteFailure(status, body, guardrailId, action) {
|
|
725
|
+
if (status === 400) {
|
|
726
|
+
log.error(said(body) ?? `${action} refused (400).`);
|
|
727
|
+
if (body.validation)
|
|
728
|
+
printChecks(body.validation);
|
|
729
|
+
process.exit(1);
|
|
730
|
+
}
|
|
731
|
+
if (status === 404 && guardrailId)
|
|
732
|
+
fail(`Guardrail "${guardrailId}" not found in this workspace.`);
|
|
733
|
+
if (status === 403)
|
|
734
|
+
fail(said(body) ?? 'Refused: authoring guardrails needs an OWNER or ADMIN member of the workspace.');
|
|
735
|
+
if (status === 409)
|
|
736
|
+
fail(said(body) ?? `Refused (${body.code ?? 'conflict'}).`);
|
|
737
|
+
fail(`${action} failed (${status}): ${said(body) ?? 'unknown error'}`);
|
|
738
|
+
}
|
|
739
|
+
export async function runGuardrailsCreate(opts) {
|
|
740
|
+
const body = await authoredFields(opts);
|
|
741
|
+
if (body.ir === undefined)
|
|
742
|
+
fail('Give the IR with --file <path> or with --kind and its flags.');
|
|
743
|
+
const parsed = AuthoredGuardrailCreateSchema.safeParse(body);
|
|
744
|
+
if (!parsed.success)
|
|
745
|
+
fail(`Not a guardrail the server would accept: ${zodMessage(parsed.error)}`);
|
|
746
|
+
const client = await getClient(opts.dev);
|
|
747
|
+
const { status, body: res } = await client.postWithStatus(`${BASE}/guardrails`, parsed.data);
|
|
748
|
+
if (status !== 201 || !res.guardrail)
|
|
749
|
+
reportWriteFailure(status, res, null, 'Create');
|
|
750
|
+
const g = res.guardrail;
|
|
751
|
+
if (opts.json) {
|
|
752
|
+
emitJson(res);
|
|
753
|
+
return;
|
|
754
|
+
}
|
|
755
|
+
log.success(`Created ${g.guardrailId} (${g.target}), PROPOSED: it enforces and measures nothing yet.`);
|
|
756
|
+
log.info(`Next: intutic guardrails approve-shadow ${g.guardrailId} — then promotion waits on shadow evidence, as for an extracted guardrail.`);
|
|
757
|
+
}
|
|
758
|
+
export async function runGuardrailsUpdate(guardrailId, opts) {
|
|
759
|
+
const body = await authoredFields(opts);
|
|
760
|
+
if (Object.keys(body).length === 0)
|
|
761
|
+
fail('Nothing to update: give --name, --description, --clear-description, --file or --kind with its flags.');
|
|
762
|
+
const parsed = AuthoredGuardrailUpdateSchema.safeParse(body);
|
|
763
|
+
if (!parsed.success)
|
|
764
|
+
fail(`Not an update the server would accept: ${zodMessage(parsed.error)}`);
|
|
765
|
+
const client = await getClient(opts.dev);
|
|
766
|
+
const { status, body: res } = await client.putWithStatus(`${BASE}/guardrails/${enc(guardrailId)}`, parsed.data);
|
|
767
|
+
if (status !== 200 || !res.guardrail)
|
|
768
|
+
reportWriteFailure(status, res, guardrailId, 'Update');
|
|
769
|
+
const g = res.guardrail;
|
|
770
|
+
if (opts.json) {
|
|
771
|
+
emitJson(res);
|
|
772
|
+
return;
|
|
773
|
+
}
|
|
774
|
+
if (res.forked) {
|
|
775
|
+
log.success(`The IR changed: version ${g.version} is ${g.guardrailId}, PROPOSED with no evidence. ${guardrailId} is retired.`);
|
|
776
|
+
log.info(`Shadow evidence belongs to the rule that earned it. Next: intutic guardrails approve-shadow ${g.guardrailId}`);
|
|
777
|
+
}
|
|
778
|
+
else {
|
|
779
|
+
log.success(`${guardrailId}: updated in place (${g.status}); its evidence stands.`);
|
|
780
|
+
}
|
|
781
|
+
}
|
|
782
|
+
export async function runGuardrailsDelete(guardrailId, opts) {
|
|
783
|
+
const client = await getClient(opts.dev);
|
|
784
|
+
const { status, body: res } = await client.delWithStatus(`${BASE}/guardrails/${enc(guardrailId)}`);
|
|
785
|
+
if (status !== 200 || !res.guardrail)
|
|
786
|
+
reportWriteFailure(status, res, guardrailId, 'Delete');
|
|
787
|
+
if (opts.json) {
|
|
788
|
+
emitJson(res);
|
|
789
|
+
return;
|
|
790
|
+
}
|
|
791
|
+
log.success(`${guardrailId}: retired — gone from every rule endpoint on the next poll. Its history is kept.`);
|
|
792
|
+
}
|
|
584
793
|
const REPLAY_SOURCE_LABEL = {
|
|
585
794
|
enforcement_log: 'hook-gate and proxy verdicts with a captured input',
|
|
586
795
|
context_snapshots: 'sampled request contexts',
|
|
@@ -595,7 +804,7 @@ export async function runGuardrailsReplay(guardrailId, opts) {
|
|
|
595
804
|
process.exit(1);
|
|
596
805
|
}
|
|
597
806
|
if (status !== 200 || !body.replay) {
|
|
598
|
-
log.error(`Replay failed (${status}): ${body
|
|
807
|
+
log.error(`Replay failed (${status}): ${said(body) ?? 'unknown error'}`);
|
|
599
808
|
process.exit(1);
|
|
600
809
|
}
|
|
601
810
|
const r = body.replay;
|