@intutic/cli 1.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/LICENSE +21 -0
- package/README.md +107 -0
- package/dist/cli.d.ts +14 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +348 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/benchmark.d.ts +31 -0
- package/dist/commands/benchmark.d.ts.map +1 -0
- package/dist/commands/benchmark.js +211 -0
- package/dist/commands/benchmark.js.map +1 -0
- package/dist/commands/budget.d.ts +7 -0
- package/dist/commands/budget.d.ts.map +1 -0
- package/dist/commands/budget.js +68 -0
- package/dist/commands/budget.js.map +1 -0
- package/dist/commands/budgetCompatibility.test.d.ts +2 -0
- package/dist/commands/budgetCompatibility.test.d.ts.map +1 -0
- package/dist/commands/budgetCompatibility.test.js +19 -0
- package/dist/commands/budgetCompatibility.test.js.map +1 -0
- package/dist/commands/connect.d.ts +20 -0
- package/dist/commands/connect.d.ts.map +1 -0
- package/dist/commands/connect.js +1010 -0
- package/dist/commands/connect.js.map +1 -0
- package/dist/commands/doctor.d.ts +23 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +429 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/enterprise-install.d.ts +36 -0
- package/dist/commands/enterprise-install.d.ts.map +1 -0
- package/dist/commands/enterprise-install.js +289 -0
- package/dist/commands/enterprise-install.js.map +1 -0
- package/dist/commands/eval.d.ts +13 -0
- package/dist/commands/eval.d.ts.map +1 -0
- package/dist/commands/eval.js +67 -0
- package/dist/commands/eval.js.map +1 -0
- package/dist/commands/exec.d.ts +34 -0
- package/dist/commands/exec.d.ts.map +1 -0
- package/dist/commands/exec.js +114 -0
- package/dist/commands/exec.js.map +1 -0
- package/dist/commands/exec.test.d.ts +2 -0
- package/dist/commands/exec.test.d.ts.map +1 -0
- package/dist/commands/exec.test.js +29 -0
- package/dist/commands/exec.test.js.map +1 -0
- package/dist/commands/export.d.ts +21 -0
- package/dist/commands/export.d.ts.map +1 -0
- package/dist/commands/export.js +116 -0
- package/dist/commands/export.js.map +1 -0
- package/dist/commands/init.d.ts +13 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +110 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/install-daemon.d.ts +61 -0
- package/dist/commands/install-daemon.d.ts.map +1 -0
- package/dist/commands/install-daemon.js +696 -0
- package/dist/commands/install-daemon.js.map +1 -0
- package/dist/commands/install-daemon.test.d.ts +2 -0
- package/dist/commands/install-daemon.test.d.ts.map +1 -0
- package/dist/commands/install-daemon.test.js +93 -0
- package/dist/commands/install-daemon.test.js.map +1 -0
- package/dist/commands/login.d.ts +14 -0
- package/dist/commands/login.d.ts.map +1 -0
- package/dist/commands/login.js +121 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/logout.d.ts +8 -0
- package/dist/commands/logout.d.ts.map +1 -0
- package/dist/commands/logout.js +13 -0
- package/dist/commands/logout.js.map +1 -0
- package/dist/commands/mdm.d.ts +23 -0
- package/dist/commands/mdm.d.ts.map +1 -0
- package/dist/commands/mdm.js +134 -0
- package/dist/commands/mdm.js.map +1 -0
- package/dist/commands/policy.d.ts +19 -0
- package/dist/commands/policy.d.ts.map +1 -0
- package/dist/commands/policy.js +232 -0
- package/dist/commands/policy.js.map +1 -0
- package/dist/commands/prompt.d.ts +11 -0
- package/dist/commands/prompt.d.ts.map +1 -0
- package/dist/commands/prompt.js +71 -0
- package/dist/commands/prompt.js.map +1 -0
- package/dist/commands/skill.d.ts +31 -0
- package/dist/commands/skill.d.ts.map +1 -0
- package/dist/commands/skill.js +349 -0
- package/dist/commands/skill.js.map +1 -0
- package/dist/commands/sop-audit.d.ts +17 -0
- package/dist/commands/sop-audit.d.ts.map +1 -0
- package/dist/commands/sop-audit.js +136 -0
- package/dist/commands/sop-audit.js.map +1 -0
- package/dist/commands/sops.d.ts +4 -0
- package/dist/commands/sops.d.ts.map +1 -0
- package/dist/commands/sops.js +88 -0
- package/dist/commands/sops.js.map +1 -0
- package/dist/commands/status.d.ts +11 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +107 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/syncContext.d.ts +18 -0
- package/dist/commands/syncContext.d.ts.map +1 -0
- package/dist/commands/syncContext.js +37 -0
- package/dist/commands/syncContext.js.map +1 -0
- package/dist/commands/traces.d.ts +32 -0
- package/dist/commands/traces.d.ts.map +1 -0
- package/dist/commands/traces.js +207 -0
- package/dist/commands/traces.js.map +1 -0
- package/dist/commands/whoami.d.ts +12 -0
- package/dist/commands/whoami.d.ts.map +1 -0
- package/dist/commands/whoami.js +34 -0
- package/dist/commands/whoami.js.map +1 -0
- package/dist/config/keychain.d.ts +28 -0
- package/dist/config/keychain.d.ts.map +1 -0
- package/dist/config/keychain.js +98 -0
- package/dist/config/keychain.js.map +1 -0
- package/dist/config/paths.d.ts +30 -0
- package/dist/config/paths.d.ts.map +1 -0
- package/dist/config/paths.js +53 -0
- package/dist/config/paths.js.map +1 -0
- package/dist/config/store.d.ts +25 -0
- package/dist/config/store.d.ts.map +1 -0
- package/dist/config/store.js +93 -0
- package/dist/config/store.js.map +1 -0
- package/dist/harness/aider.d.ts +13 -0
- package/dist/harness/aider.d.ts.map +1 -0
- package/dist/harness/aider.js +48 -0
- package/dist/harness/aider.js.map +1 -0
- package/dist/harness/antigravity.d.ts +12 -0
- package/dist/harness/antigravity.d.ts.map +1 -0
- package/dist/harness/antigravity.js +69 -0
- package/dist/harness/antigravity.js.map +1 -0
- package/dist/harness/base.d.ts +20 -0
- package/dist/harness/base.d.ts.map +1 -0
- package/dist/harness/base.js +73 -0
- package/dist/harness/base.js.map +1 -0
- package/dist/harness/claudeCode.d.ts +2 -0
- package/dist/harness/claudeCode.d.ts.map +1 -0
- package/dist/harness/claudeCode.js +9 -0
- package/dist/harness/claudeCode.js.map +1 -0
- package/dist/harness/claudeDesktop.d.ts +18 -0
- package/dist/harness/claudeDesktop.d.ts.map +1 -0
- package/dist/harness/claudeDesktop.js +69 -0
- package/dist/harness/claudeDesktop.js.map +1 -0
- package/dist/harness/cline.d.ts +13 -0
- package/dist/harness/cline.d.ts.map +1 -0
- package/dist/harness/cline.js +75 -0
- package/dist/harness/cline.js.map +1 -0
- package/dist/harness/codex.d.ts +13 -0
- package/dist/harness/codex.d.ts.map +1 -0
- package/dist/harness/codex.js +86 -0
- package/dist/harness/codex.js.map +1 -0
- package/dist/harness/continue.d.ts +14 -0
- package/dist/harness/continue.d.ts.map +1 -0
- package/dist/harness/continue.js +97 -0
- package/dist/harness/continue.js.map +1 -0
- package/dist/harness/cursor.d.ts +14 -0
- package/dist/harness/cursor.d.ts.map +1 -0
- package/dist/harness/cursor.js +65 -0
- package/dist/harness/cursor.js.map +1 -0
- package/dist/harness/detector.d.ts +29 -0
- package/dist/harness/detector.d.ts.map +1 -0
- package/dist/harness/detector.js +81 -0
- package/dist/harness/detector.js.map +1 -0
- package/dist/harness/githubCopilot.d.ts +12 -0
- package/dist/harness/githubCopilot.d.ts.map +1 -0
- package/dist/harness/githubCopilot.js +54 -0
- package/dist/harness/githubCopilot.js.map +1 -0
- package/dist/harness/goose.d.ts +13 -0
- package/dist/harness/goose.d.ts.map +1 -0
- package/dist/harness/goose.js +45 -0
- package/dist/harness/goose.js.map +1 -0
- package/dist/harness/hermes.d.ts +12 -0
- package/dist/harness/hermes.d.ts.map +1 -0
- package/dist/harness/hermes.js +51 -0
- package/dist/harness/hermes.js.map +1 -0
- package/dist/harness/n8n.d.ts +17 -0
- package/dist/harness/n8n.d.ts.map +1 -0
- package/dist/harness/n8n.js +125 -0
- package/dist/harness/n8n.js.map +1 -0
- package/dist/harness/openWebUI.d.ts +13 -0
- package/dist/harness/openWebUI.d.ts.map +1 -0
- package/dist/harness/openWebUI.js +25 -0
- package/dist/harness/openWebUI.js.map +1 -0
- package/dist/harness/openclaw.d.ts +12 -0
- package/dist/harness/openclaw.d.ts.map +1 -0
- package/dist/harness/openclaw.js +51 -0
- package/dist/harness/openclaw.js.map +1 -0
- package/dist/harness/openhands.d.ts +12 -0
- package/dist/harness/openhands.d.ts.map +1 -0
- package/dist/harness/openhands.js +67 -0
- package/dist/harness/openhands.js.map +1 -0
- package/dist/harness/pi.d.ts +12 -0
- package/dist/harness/pi.d.ts.map +1 -0
- package/dist/harness/pi.js +51 -0
- package/dist/harness/pi.js.map +1 -0
- package/dist/harness/rooCode.d.ts +14 -0
- package/dist/harness/rooCode.d.ts.map +1 -0
- package/dist/harness/rooCode.js +77 -0
- package/dist/harness/rooCode.js.map +1 -0
- package/dist/harness/types.d.ts +30 -0
- package/dist/harness/types.d.ts.map +1 -0
- package/dist/harness/types.js +32 -0
- package/dist/harness/types.js.map +1 -0
- package/dist/harness/vscodeSettingsWriter.d.ts +40 -0
- package/dist/harness/vscodeSettingsWriter.d.ts.map +1 -0
- package/dist/harness/vscodeSettingsWriter.js +116 -0
- package/dist/harness/vscodeSettingsWriter.js.map +1 -0
- package/dist/harness/windsurf.d.ts +14 -0
- package/dist/harness/windsurf.d.ts.map +1 -0
- package/dist/harness/windsurf.js +64 -0
- package/dist/harness/windsurf.js.map +1 -0
- package/dist/lib/api.d.ts +48 -0
- package/dist/lib/api.d.ts.map +1 -0
- package/dist/lib/api.js +128 -0
- package/dist/lib/api.js.map +1 -0
- package/dist/lib/envInjector.d.ts +24 -0
- package/dist/lib/envInjector.d.ts.map +1 -0
- package/dist/lib/envInjector.js +149 -0
- package/dist/lib/envInjector.js.map +1 -0
- package/dist/lib/envInjector.test.d.ts +2 -0
- package/dist/lib/envInjector.test.d.ts.map +1 -0
- package/dist/lib/envInjector.test.js +32 -0
- package/dist/lib/envInjector.test.js.map +1 -0
- package/dist/lib/gitHooks.d.ts +19 -0
- package/dist/lib/gitHooks.d.ts.map +1 -0
- package/dist/lib/gitHooks.js +58 -0
- package/dist/lib/gitHooks.js.map +1 -0
- package/dist/lib/hash.d.ts +11 -0
- package/dist/lib/hash.d.ts.map +1 -0
- package/dist/lib/hash.js +18 -0
- package/dist/lib/hash.js.map +1 -0
- package/dist/lib/logger.d.ts +18 -0
- package/dist/lib/logger.d.ts.map +1 -0
- package/dist/lib/logger.js +33 -0
- package/dist/lib/logger.js.map +1 -0
- package/dist/lib/onboarding.d.ts +10 -0
- package/dist/lib/onboarding.d.ts.map +1 -0
- package/dist/lib/onboarding.js +178 -0
- package/dist/lib/onboarding.js.map +1 -0
- package/dist/lib/process.d.ts +53 -0
- package/dist/lib/process.d.ts.map +1 -0
- package/dist/lib/process.js +181 -0
- package/dist/lib/process.js.map +1 -0
- package/dist/lib/process.test.d.ts +2 -0
- package/dist/lib/process.test.d.ts.map +1 -0
- package/dist/lib/process.test.js +44 -0
- package/dist/lib/process.test.js.map +1 -0
- package/package.json +55 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Intutic
|
|
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
|
+
IMPORTED, 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
ADDED
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
# @intutic/cli
|
|
2
|
+
|
|
3
|
+
> AI governance control plane for developer workspaces.
|
|
4
|
+
|
|
5
|
+
Intutic intercepts agent-to-LLM traffic, enforces SOPs, detects anomalies, and tracks costs — all without changing how your team codes.
|
|
6
|
+
|
|
7
|
+
## Quick Start
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# Install globally
|
|
11
|
+
npm install -g @intutic/cli
|
|
12
|
+
|
|
13
|
+
# Or run directly
|
|
14
|
+
npx @intutic/cli init
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
**5 minutes to your first governance verdict:**
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
intutic login # Authenticate with control plane
|
|
21
|
+
intutic init # Detect harnesses, configure proxy
|
|
22
|
+
intutic connect # Start sync daemon (background)
|
|
23
|
+
intutic traces list # See governance verdicts
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Commands
|
|
27
|
+
|
|
28
|
+
| Command | Description |
|
|
29
|
+
|---------|-------------|
|
|
30
|
+
| `intutic init` | Initialize workspace — detect harnesses, configure sync |
|
|
31
|
+
| `intutic login` | Authenticate with control plane (`--api-key`, `--dev`) |
|
|
32
|
+
| `intutic logout` | Clear stored credentials |
|
|
33
|
+
| `intutic status` | Show workspace status — auth, harnesses, sync state |
|
|
34
|
+
| `intutic whoami` | Show current authenticated identity |
|
|
35
|
+
| `intutic connect` | Start sync daemon — bidirectional config sync (`--interval`) |
|
|
36
|
+
| `intutic traces list` | List execution traces (`--limit`, `--since`, `--action`, `--model`, `--json`) |
|
|
37
|
+
| `intutic traces inspect <id>` | Show full detail of a single trace |
|
|
38
|
+
|
|
39
|
+
## Supported Harnesses
|
|
40
|
+
|
|
41
|
+
Intutic auto-detects and configures these AI coding harnesses:
|
|
42
|
+
|
|
43
|
+
| Harness | Detection | Config Method |
|
|
44
|
+
|---------|-----------|---------------|
|
|
45
|
+
| **Claude Code** | `~/.claude/` directory | `CLAUDE.md` + `settings.json` |
|
|
46
|
+
| **Cursor** | `~/.cursor/` directory | `.cursorrules` file |
|
|
47
|
+
| **Aider** | `~/.aider/` directory | `.aider.conf.yml` |
|
|
48
|
+
| **Antigravity** | `~/.gemini/` directory | Environment variables |
|
|
49
|
+
| **Codex** | `~/.codex/` directory | `codex.json` config |
|
|
50
|
+
| **n8n** | Running n8n instance | Workflow JSON file |
|
|
51
|
+
| **OpenClaw** | `~/.openclaw/` directory | `config.yaml` |
|
|
52
|
+
| **Hermes** | `~/.hermes/` directory | `config.toml` |
|
|
53
|
+
|
|
54
|
+
## Trace Inspection
|
|
55
|
+
|
|
56
|
+
View governance verdicts directly from the terminal:
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
# List recent traces (last 24h)
|
|
60
|
+
intutic traces list
|
|
61
|
+
|
|
62
|
+
# Filter by enforcement action
|
|
63
|
+
intutic traces list --action KILL
|
|
64
|
+
|
|
65
|
+
# Filter by model and time window
|
|
66
|
+
intutic traces list --model claude-4 --since 7d
|
|
67
|
+
|
|
68
|
+
# JSON output for scripting
|
|
69
|
+
intutic traces list --json | jq '.traces[] | select(.enforcementAction == "HIJACK")'
|
|
70
|
+
|
|
71
|
+
# Inspect a specific trace
|
|
72
|
+
intutic traces inspect tr_abc123
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Configuration
|
|
76
|
+
|
|
77
|
+
Credentials are stored at `~/.intutic/credentials.json` (mode `0600`).
|
|
78
|
+
|
|
79
|
+
### Environment Variables
|
|
80
|
+
|
|
81
|
+
| Variable | Description |
|
|
82
|
+
|----------|-------------|
|
|
83
|
+
| `INTUTIC_API_URL` | Control plane URL (default: `https://api.intutic.ai`) |
|
|
84
|
+
| `INTUTIC_API_KEY` | API key for non-interactive auth (`vk_*` prefix) |
|
|
85
|
+
|
|
86
|
+
### Development Mode
|
|
87
|
+
|
|
88
|
+
Use `--dev` flag to point at local control plane (`http://localhost:3001`):
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
intutic login --dev
|
|
92
|
+
intutic connect --dev
|
|
93
|
+
intutic traces list --dev
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Documentation
|
|
97
|
+
|
|
98
|
+
Full documentation: [docs.intutic.ai](https://docs.intutic.ai)
|
|
99
|
+
|
|
100
|
+
- [Getting Started](https://docs.intutic.ai/guide/getting-started)
|
|
101
|
+
- [Integration Guides](https://docs.intutic.ai/integrations/)
|
|
102
|
+
- [CLI Reference](https://docs.intutic.ai/reference/cli)
|
|
103
|
+
- [API Reference](https://docs.intutic.ai/reference/api)
|
|
104
|
+
|
|
105
|
+
## License
|
|
106
|
+
|
|
107
|
+
MIT — see [LICENSE](../../LICENSE) for details.
|
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Intutic CLI — Entry point
|
|
4
|
+
*
|
|
5
|
+
* AI governance control plane for developer workspaces.
|
|
6
|
+
* Provides harness detection, config sync, and workspace management.
|
|
7
|
+
*
|
|
8
|
+
* LLD #8 — Sync Daemon / CLI
|
|
9
|
+
* HLD §3.14 — Real-Time State Mirroring
|
|
10
|
+
*
|
|
11
|
+
* @module
|
|
12
|
+
*/
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=cli.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;GAUG"}
|
package/dist/cli.js
ADDED
|
@@ -0,0 +1,348 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Intutic CLI — Entry point
|
|
4
|
+
*
|
|
5
|
+
* AI governance control plane for developer workspaces.
|
|
6
|
+
* Provides harness detection, config sync, and workspace management.
|
|
7
|
+
*
|
|
8
|
+
* LLD #8 — Sync Daemon / CLI
|
|
9
|
+
* HLD §3.14 — Real-Time State Mirroring
|
|
10
|
+
*
|
|
11
|
+
* @module
|
|
12
|
+
*/
|
|
13
|
+
import { Command } from 'commander';
|
|
14
|
+
const program = new Command();
|
|
15
|
+
program
|
|
16
|
+
.name('intutic')
|
|
17
|
+
.description('Intutic CLI — AI governance control plane for developer workspaces')
|
|
18
|
+
.version('1.0.5');
|
|
19
|
+
program
|
|
20
|
+
.command('init')
|
|
21
|
+
.description('Initialize workspace — detect harnesses, configure sync')
|
|
22
|
+
.option('--dev', 'Use local control plane (http://localhost:3001)')
|
|
23
|
+
.action(async (opts) => {
|
|
24
|
+
const { runInit } = await import('./commands/init.js');
|
|
25
|
+
await runInit(opts);
|
|
26
|
+
});
|
|
27
|
+
program
|
|
28
|
+
.command('login')
|
|
29
|
+
.description('Authenticate with the Intutic control plane')
|
|
30
|
+
.option('--api-key <key>', 'Authenticate with an API key (vk_*)')
|
|
31
|
+
.option('--dev', 'Use local control plane (http://localhost:3001)')
|
|
32
|
+
.action(async (opts) => {
|
|
33
|
+
const { runLogin } = await import('./commands/login.js');
|
|
34
|
+
await runLogin(opts);
|
|
35
|
+
});
|
|
36
|
+
program
|
|
37
|
+
.command('logout')
|
|
38
|
+
.description('Clear stored credentials')
|
|
39
|
+
.action(async () => {
|
|
40
|
+
const { runLogout } = await import('./commands/logout.js');
|
|
41
|
+
await runLogout();
|
|
42
|
+
});
|
|
43
|
+
program
|
|
44
|
+
.command('status')
|
|
45
|
+
.description('Show workspace status — auth, harnesses, sync state')
|
|
46
|
+
.action(async () => {
|
|
47
|
+
const { runStatus } = await import('./commands/status.js');
|
|
48
|
+
await runStatus();
|
|
49
|
+
});
|
|
50
|
+
program
|
|
51
|
+
.command('doctor')
|
|
52
|
+
.description('Diagnose workspace health — proxy, auth, daemon, configs, logs')
|
|
53
|
+
.action(async () => {
|
|
54
|
+
const { runDoctor } = await import('./commands/doctor.js');
|
|
55
|
+
await runDoctor();
|
|
56
|
+
});
|
|
57
|
+
program
|
|
58
|
+
.command('budget')
|
|
59
|
+
.description('Check remaining daily/monthly budget and list active loops')
|
|
60
|
+
.option('--dev', 'Use local control plane (http://localhost:3001)')
|
|
61
|
+
.action(async (opts) => {
|
|
62
|
+
const { runBudget } = await import('./commands/budget.js');
|
|
63
|
+
await runBudget(opts);
|
|
64
|
+
});
|
|
65
|
+
const sopsCmd = program
|
|
66
|
+
.command('sops')
|
|
67
|
+
.description('Manage local and global SOP rules');
|
|
68
|
+
sopsCmd
|
|
69
|
+
.command('push <name>')
|
|
70
|
+
.description('Push a local offline SOP folder to the central workspace')
|
|
71
|
+
.option('--dev', 'Use local control plane (http://localhost:3001)')
|
|
72
|
+
.action(async (name, opts) => {
|
|
73
|
+
const { runSopsPush } = await import('./commands/sops.js');
|
|
74
|
+
await runSopsPush(name, opts);
|
|
75
|
+
});
|
|
76
|
+
const policyCmd = program
|
|
77
|
+
.command('policy')
|
|
78
|
+
.description('Manage compliance and safety policies');
|
|
79
|
+
policyCmd
|
|
80
|
+
.command('enable <policyId>')
|
|
81
|
+
.description('Enable a compliance policy')
|
|
82
|
+
.option('--dev', 'Use local control plane (http://localhost:3001)')
|
|
83
|
+
.action(async (policyId, opts) => {
|
|
84
|
+
const { runPolicyEnable } = await import('./commands/policy.js');
|
|
85
|
+
await runPolicyEnable(policyId, opts);
|
|
86
|
+
});
|
|
87
|
+
policyCmd
|
|
88
|
+
.command('disable <policyId>')
|
|
89
|
+
.description('Disable a compliance policy')
|
|
90
|
+
.option('--dev', 'Use local control plane (http://localhost:3001)')
|
|
91
|
+
.action(async (policyId, opts) => {
|
|
92
|
+
const { runPolicyDisable } = await import('./commands/policy.js');
|
|
93
|
+
await runPolicyDisable(policyId, opts);
|
|
94
|
+
});
|
|
95
|
+
policyCmd
|
|
96
|
+
.command('rollback <policyId>')
|
|
97
|
+
.description('Rollback a compliance policy to a specific version')
|
|
98
|
+
.requiredOption('--version <version>', 'Target version (e.g. 2)')
|
|
99
|
+
.option('--dev', 'Use local control plane (http://localhost:3001)')
|
|
100
|
+
.action(async (policyId, opts) => {
|
|
101
|
+
const { runPolicyRollback } = await import('./commands/policy.js');
|
|
102
|
+
await runPolicyRollback(policyId, opts);
|
|
103
|
+
});
|
|
104
|
+
policyCmd
|
|
105
|
+
.command('export')
|
|
106
|
+
.description('Export compliance policies to stdout')
|
|
107
|
+
.option('--all', 'Export all policies')
|
|
108
|
+
.option('--dev', 'Use local control plane (http://localhost:3001)')
|
|
109
|
+
.action(async (opts) => {
|
|
110
|
+
const { runPolicyExport } = await import('./commands/policy.js');
|
|
111
|
+
await runPolicyExport(opts);
|
|
112
|
+
});
|
|
113
|
+
policyCmd
|
|
114
|
+
.command('test')
|
|
115
|
+
.description('Run dry-run WASM policy evaluation locally')
|
|
116
|
+
.requiredOption('--wasm <path>', 'Path to compiled WASM rule binary')
|
|
117
|
+
.requiredOption('--mock <path>', 'Path to mock JSON context file')
|
|
118
|
+
.action(async (opts) => {
|
|
119
|
+
const { runPolicyTest } = await import('./commands/policy.js');
|
|
120
|
+
await runPolicyTest(opts);
|
|
121
|
+
});
|
|
122
|
+
program
|
|
123
|
+
.command('whoami')
|
|
124
|
+
.description('Show current authenticated identity')
|
|
125
|
+
.option('--dev', 'Use local control plane (http://localhost:3001)')
|
|
126
|
+
.action(async (opts) => {
|
|
127
|
+
const { runWhoami } = await import('./commands/whoami.js');
|
|
128
|
+
await runWhoami(opts);
|
|
129
|
+
});
|
|
130
|
+
program
|
|
131
|
+
.command('connect')
|
|
132
|
+
.description('Start sync daemon — bidirectional config sync with control plane')
|
|
133
|
+
.option('--dev', 'Use local control plane (http://localhost:3001)')
|
|
134
|
+
.option('--interval <ms>', 'Poll interval in milliseconds', '30000')
|
|
135
|
+
.option('--workspace-id <id>', 'Workspace ID override')
|
|
136
|
+
.option('--api-key <key>', 'Workspace API key override')
|
|
137
|
+
.option('--control-plane-url <url>', 'Control plane URL override')
|
|
138
|
+
.action(async (opts) => {
|
|
139
|
+
const { runConnect } = await import('./commands/connect.js');
|
|
140
|
+
await runConnect(opts);
|
|
141
|
+
});
|
|
142
|
+
program
|
|
143
|
+
.command('sync-context')
|
|
144
|
+
.description('Sync Git context metadata to the local daemon')
|
|
145
|
+
.option('--git', 'Sync Git branch and commit information')
|
|
146
|
+
.option('--branch <name>', 'Current Git branch name')
|
|
147
|
+
.option('--commit <hash>', 'Current Git commit SHA')
|
|
148
|
+
.action(async (opts) => {
|
|
149
|
+
const { runSyncContext } = await import('./commands/syncContext.js');
|
|
150
|
+
await runSyncContext(opts);
|
|
151
|
+
});
|
|
152
|
+
program
|
|
153
|
+
.command('exec')
|
|
154
|
+
.description('Execute a command wrapped with Intutic proxy environment variables')
|
|
155
|
+
.argument('[command...]', 'Command and arguments to execute (e.g. -- claude)')
|
|
156
|
+
.action(async (commandAndArgs) => {
|
|
157
|
+
const { runExec } = await import('./commands/exec.js');
|
|
158
|
+
await runExec(commandAndArgs);
|
|
159
|
+
});
|
|
160
|
+
const traces = program
|
|
161
|
+
.command('traces')
|
|
162
|
+
.alias('trace')
|
|
163
|
+
.description('Query execution traces — list, filter, and inspect');
|
|
164
|
+
traces
|
|
165
|
+
.command('list')
|
|
166
|
+
.description('List execution traces for the workspace')
|
|
167
|
+
.option('--limit <n>', 'Number of traces to show (default: 20, max: 100)')
|
|
168
|
+
.option('--since <duration>', 'Time window, e.g. "24h", "7d", "30m" (default: "24h")')
|
|
169
|
+
.option('--action <type>', 'Filter by enforcement action (BYPASS|ENHANCE|HIJACK|KILL)')
|
|
170
|
+
.option('--model <name>', 'Filter by model name')
|
|
171
|
+
.option('--json', 'Output as JSON instead of table')
|
|
172
|
+
.option('--dev', 'Use local control plane (http://localhost:3001)')
|
|
173
|
+
.action(async (opts) => {
|
|
174
|
+
const { runTracesList } = await import('./commands/traces.js');
|
|
175
|
+
await runTracesList(opts);
|
|
176
|
+
});
|
|
177
|
+
traces
|
|
178
|
+
.command('inspect <trace_id>')
|
|
179
|
+
.description('Show full detail of a single trace')
|
|
180
|
+
.option('--dev', 'Use local control plane (http://localhost:3001)')
|
|
181
|
+
.action(async (traceId, opts) => {
|
|
182
|
+
const { runTracesInspect } = await import('./commands/traces.js');
|
|
183
|
+
await runTracesInspect(traceId, opts);
|
|
184
|
+
});
|
|
185
|
+
// ── Daemon persistence (WS-5 — Q3 Layer 4) ─────────────────────────────────
|
|
186
|
+
const daemon = program
|
|
187
|
+
.command('daemon')
|
|
188
|
+
.description('Manage the Intutic sync-daemon system service (LaunchAgent / systemd)');
|
|
189
|
+
daemon
|
|
190
|
+
.command('install')
|
|
191
|
+
.alias('install-daemon') // top-level alias for discoverability
|
|
192
|
+
.description('Install sync-daemon as a system service (auto-starts on login, restarts on any exit).\n' +
|
|
193
|
+
' macOS: ~/Library/LaunchAgents/ai.intutic.sync-daemon.plist (KeepAlive: true)\n' +
|
|
194
|
+
' Linux: ~/.config/systemd/user/intutic-sync-daemon.service (Restart=always)\n' +
|
|
195
|
+
'\n' +
|
|
196
|
+
' NOTE: To stop the daemon you MUST use \'intutic daemon uninstall\' or \'launchctl unload\'.\n' +
|
|
197
|
+
' \'intutic disconnect\' alone will NOT stop a daemon-installed service. (TD-154)')
|
|
198
|
+
.requiredOption('--workspace-id <id>', 'Workspace ID (e.g. ws_xxxx)')
|
|
199
|
+
.requiredOption('--api-key <key>', 'Workspace API key (e.g. vk_xxxx)')
|
|
200
|
+
.option('--control-plane-url <url>', 'Control plane URL', 'https://api.intutic.ai')
|
|
201
|
+
.option('--binary-path <path>', 'Path to intutic CLI binary (defaults to current process)')
|
|
202
|
+
.option('--dry-run', 'Print what would be done without writing files')
|
|
203
|
+
.option('--system', 'Install as a system-level service (LaunchDaemon on macOS, systemd system unit on Linux)')
|
|
204
|
+
.action(async (opts) => {
|
|
205
|
+
const { installDaemon } = await import('./commands/install-daemon.js');
|
|
206
|
+
await installDaemon({
|
|
207
|
+
workspaceId: opts.workspaceId,
|
|
208
|
+
apiKey: opts.apiKey,
|
|
209
|
+
controlPlaneUrl: opts.controlPlaneUrl,
|
|
210
|
+
binaryPath: opts.binaryPath,
|
|
211
|
+
dryRun: opts.dryRun,
|
|
212
|
+
system: opts.system,
|
|
213
|
+
});
|
|
214
|
+
});
|
|
215
|
+
daemon
|
|
216
|
+
.command('uninstall')
|
|
217
|
+
.alias('uninstall-daemon')
|
|
218
|
+
.description('Remove the sync-daemon system service and stop it permanently.')
|
|
219
|
+
.option('--dry-run', 'Print what would be done without writing files')
|
|
220
|
+
.option('--system', 'Uninstall the system-level service')
|
|
221
|
+
.action(async (opts) => {
|
|
222
|
+
const { uninstallDaemon } = await import('./commands/install-daemon.js');
|
|
223
|
+
await uninstallDaemon({ dryRun: opts.dryRun, system: opts.system });
|
|
224
|
+
});
|
|
225
|
+
daemon
|
|
226
|
+
.command('status')
|
|
227
|
+
.description('Show sync-daemon system service status.')
|
|
228
|
+
.action(async () => {
|
|
229
|
+
const { daemonStatus } = await import('./commands/install-daemon.js');
|
|
230
|
+
await daemonStatus();
|
|
231
|
+
});
|
|
232
|
+
daemon
|
|
233
|
+
.command('stop')
|
|
234
|
+
.description('Stop and unload the sync-daemon system service.')
|
|
235
|
+
.action(async () => {
|
|
236
|
+
const { daemonStop } = await import('./commands/install-daemon.js');
|
|
237
|
+
await daemonStop();
|
|
238
|
+
});
|
|
239
|
+
daemon
|
|
240
|
+
.command('start')
|
|
241
|
+
.description('Start and load the sync-daemon system service.')
|
|
242
|
+
.action(async () => {
|
|
243
|
+
const { daemonStart } = await import('./commands/install-daemon.js');
|
|
244
|
+
await daemonStart();
|
|
245
|
+
});
|
|
246
|
+
// Top-level shortcuts (for discoverability)
|
|
247
|
+
program
|
|
248
|
+
.command('install-daemon', { hidden: false })
|
|
249
|
+
.description('Shortcut for \'intutic daemon install\' — install sync-daemon as system service')
|
|
250
|
+
.requiredOption('--workspace-id <id>', 'Workspace ID')
|
|
251
|
+
.requiredOption('--api-key <key>', 'Workspace API key')
|
|
252
|
+
.option('--control-plane-url <url>', 'Control plane URL', 'https://api.intutic.ai')
|
|
253
|
+
.option('--binary-path <path>', 'Path to intutic CLI binary')
|
|
254
|
+
.option('--dry-run', 'Print what would be done without writing files')
|
|
255
|
+
.option('--system', 'Install as a system-level service')
|
|
256
|
+
.action(async (opts) => {
|
|
257
|
+
const { installDaemon } = await import('./commands/install-daemon.js');
|
|
258
|
+
await installDaemon({
|
|
259
|
+
workspaceId: opts.workspaceId,
|
|
260
|
+
apiKey: opts.apiKey,
|
|
261
|
+
controlPlaneUrl: opts.controlPlaneUrl,
|
|
262
|
+
binaryPath: opts.binaryPath,
|
|
263
|
+
dryRun: opts.dryRun,
|
|
264
|
+
system: opts.system,
|
|
265
|
+
});
|
|
266
|
+
});
|
|
267
|
+
program
|
|
268
|
+
.command('uninstall-daemon', { hidden: false })
|
|
269
|
+
.description('Shortcut for \'intutic daemon uninstall\'')
|
|
270
|
+
.option('--dry-run', 'Print what would be done without writing files')
|
|
271
|
+
.option('--system', 'Uninstall the system-level service')
|
|
272
|
+
.action(async (opts) => {
|
|
273
|
+
const { uninstallDaemon } = await import('./commands/install-daemon.js');
|
|
274
|
+
await uninstallDaemon({ dryRun: opts.dryRun, system: opts.system });
|
|
275
|
+
});
|
|
276
|
+
// ── Skill commands ─────────────────────────────────────────────────────────
|
|
277
|
+
const skillCmd = program
|
|
278
|
+
.command('skill')
|
|
279
|
+
.description('Manage and audit agent skills and instructions');
|
|
280
|
+
skillCmd
|
|
281
|
+
.command('list')
|
|
282
|
+
.description('Discover and list local workspace rule/skill files')
|
|
283
|
+
.action(async () => {
|
|
284
|
+
const { runSkillList } = await import('./commands/skill.js');
|
|
285
|
+
await runSkillList();
|
|
286
|
+
});
|
|
287
|
+
skillCmd
|
|
288
|
+
.command('audit')
|
|
289
|
+
.description('Audit local rules/skills for security leakage or unsafe command patterns')
|
|
290
|
+
.action(async () => {
|
|
291
|
+
const { runSkillAudit } = await import('./commands/skill.js');
|
|
292
|
+
await runSkillAudit();
|
|
293
|
+
});
|
|
294
|
+
// ── Loop commands ──────────────────────────────────────────────────────────
|
|
295
|
+
const loopCmd = program
|
|
296
|
+
.command('loop')
|
|
297
|
+
.description('Manage and execute recursive agent loops with budget limits');
|
|
298
|
+
loopCmd
|
|
299
|
+
.command('start')
|
|
300
|
+
.description('Register and start an active loop execution session')
|
|
301
|
+
.requiredOption('--name <name>', 'Name of the loop execution')
|
|
302
|
+
.option('--budget <limit>', 'Maximum token spend budget in USD (e.g. 5.00)')
|
|
303
|
+
.option('--sops <sops>', 'Comma-separated local SOP folder names or option indices')
|
|
304
|
+
.option('--auto-judge', 'Enable automatic E2E judging for the loop')
|
|
305
|
+
.option('--dev', 'Use local control plane (http://localhost:3001)')
|
|
306
|
+
.action(async (opts) => {
|
|
307
|
+
const { runLoopStart } = await import('./commands/skill.js');
|
|
308
|
+
await runLoopStart(opts);
|
|
309
|
+
});
|
|
310
|
+
loopCmd
|
|
311
|
+
.command('complete <loopRunId>')
|
|
312
|
+
.description('Mark a running loop as successfully completed')
|
|
313
|
+
.option('--dev', 'Use local control plane (http://localhost:3001)')
|
|
314
|
+
.action(async (loopRunId, opts) => {
|
|
315
|
+
const { runLoopComplete } = await import('./commands/skill.js');
|
|
316
|
+
await runLoopComplete(loopRunId, opts);
|
|
317
|
+
});
|
|
318
|
+
loopCmd
|
|
319
|
+
.command('kill <loopRunId>')
|
|
320
|
+
.description('Kill an active loop and prevent subsequent API requests')
|
|
321
|
+
.option('--dev', 'Use local control plane (http://localhost:3001)')
|
|
322
|
+
.action(async (loopRunId, opts) => {
|
|
323
|
+
const { runLoopKill } = await import('./commands/skill.js');
|
|
324
|
+
await runLoopKill(loopRunId, opts);
|
|
325
|
+
});
|
|
326
|
+
loopCmd
|
|
327
|
+
.command('list')
|
|
328
|
+
.description('List loop runs and cost accounting details for the workspace')
|
|
329
|
+
.option('--dev', 'Use local control plane (http://localhost:3001)')
|
|
330
|
+
.action(async (opts) => {
|
|
331
|
+
const { runLoopList } = await import('./commands/skill.js');
|
|
332
|
+
await runLoopList(opts);
|
|
333
|
+
});
|
|
334
|
+
loopCmd
|
|
335
|
+
.command('exec')
|
|
336
|
+
.description('Execute an agent command wrapped with loop budget boundaries')
|
|
337
|
+
.option('--name <name>', 'Name of the loop execution')
|
|
338
|
+
.option('--budget <limit>', 'Maximum token spend budget in USD (e.g. 5.00)')
|
|
339
|
+
.option('--sops <sops>', 'Comma-separated local SOP folder names or option indices')
|
|
340
|
+
.option('--auto-judge', 'Enable automatic E2E judging for the loop')
|
|
341
|
+
.option('--dev', 'Use local control plane (http://localhost:3001)')
|
|
342
|
+
.argument('<command...>', 'Agent execution command (e.g. -- claude-code)')
|
|
343
|
+
.action(async (commandAndArgs, opts) => {
|
|
344
|
+
const { runLoopExec } = await import('./commands/skill.js');
|
|
345
|
+
await runLoopExec(commandAndArgs, opts);
|
|
346
|
+
});
|
|
347
|
+
program.parse();
|
|
348
|
+
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `intutic benchmark` — Run, compare, and manage PromptGrade benchmarks.
|
|
3
|
+
*
|
|
4
|
+
* Subcommands:
|
|
5
|
+
* - `intutic benchmark run --suite <id> [--harness <type>] [--dev]`
|
|
6
|
+
* - `intutic benchmark compare <runIdA> <runIdB> [--dev]`
|
|
7
|
+
* - `intutic benchmark suites [--dev]`
|
|
8
|
+
* - `intutic benchmark export <runId> [--format csv|json] [--dev]`
|
|
9
|
+
*
|
|
10
|
+
* WS-4E Advanced
|
|
11
|
+
*/
|
|
12
|
+
interface BenchmarkRunCliOpts {
|
|
13
|
+
suite: string;
|
|
14
|
+
harness?: string;
|
|
15
|
+
dev?: boolean;
|
|
16
|
+
}
|
|
17
|
+
interface BenchmarkSuitesCliOpts {
|
|
18
|
+
dev?: boolean;
|
|
19
|
+
}
|
|
20
|
+
interface BenchmarkExportCliOpts {
|
|
21
|
+
format?: 'csv' | 'json';
|
|
22
|
+
dev?: boolean;
|
|
23
|
+
}
|
|
24
|
+
export declare function runBenchmark(opts: BenchmarkRunCliOpts): Promise<void>;
|
|
25
|
+
export declare function compareBenchmarks(runIdA: string, runIdB: string, opts: {
|
|
26
|
+
dev?: boolean;
|
|
27
|
+
}): Promise<void>;
|
|
28
|
+
export declare function listSuites(opts: BenchmarkSuitesCliOpts): Promise<void>;
|
|
29
|
+
export declare function exportBenchmark(runId: string, opts: BenchmarkExportCliOpts): Promise<void>;
|
|
30
|
+
export {};
|
|
31
|
+
//# sourceMappingURL=benchmark.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"benchmark.d.ts","sourceRoot":"","sources":["../../src/commands/benchmark.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AASH,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,GAAG,CAAC,EAAE,OAAO,CAAA;CACd;AAED,UAAU,sBAAsB;IAC9B,GAAG,CAAC,EAAE,OAAO,CAAA;CACd;AAED,UAAU,sBAAsB;IAC9B,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;IACvB,GAAG,CAAC,EAAE,OAAO,CAAA;CACd;AAqCD,wBAAsB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsF3E;AAED,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAqC9G;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8B5E;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2BhG"}
|