@indemn/cli 1.5.0 → 1.7.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/.claude-plugin/marketplace.json +3 -3
- package/.claude-plugin/plugin.json +9 -4
- package/.github/workflows/ci.yml +10 -0
- package/.github/workflows/publish.yml +2 -2
- package/.mcp.json +1 -4
- package/CONTRIBUTING.md +3 -1
- package/README.md +69 -176
- package/dist/cli/agents.d.ts.map +1 -1
- package/dist/cli/agents.js +226 -18
- package/dist/cli/agents.js.map +1 -1
- package/dist/cli/analytics.d.ts +3 -0
- package/dist/cli/analytics.d.ts.map +1 -0
- package/dist/cli/analytics.js +133 -0
- package/dist/cli/analytics.js.map +1 -0
- package/dist/cli/auth.d.ts.map +1 -1
- package/dist/cli/auth.js +62 -17
- package/dist/cli/auth.js.map +1 -1
- package/dist/cli/billing.d.ts +3 -0
- package/dist/cli/billing.d.ts.map +1 -0
- package/dist/cli/billing.js +23 -0
- package/dist/cli/billing.js.map +1 -0
- package/dist/cli/campaigns.d.ts +3 -0
- package/dist/cli/campaigns.d.ts.map +1 -0
- package/dist/cli/campaigns.js +34 -0
- package/dist/cli/campaigns.js.map +1 -0
- package/dist/cli/chat.d.ts.map +1 -1
- package/dist/cli/chat.js +69 -102
- package/dist/cli/chat.js.map +1 -1
- package/dist/cli/config.d.ts.map +1 -1
- package/dist/cli/config.js +71 -27
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/conversations.d.ts +3 -0
- package/dist/cli/conversations.d.ts.map +1 -0
- package/dist/cli/conversations.js +129 -0
- package/dist/cli/conversations.js.map +1 -0
- package/dist/cli/distribution.d.ts +3 -0
- package/dist/cli/distribution.d.ts.map +1 -0
- package/dist/cli/distribution.js +122 -0
- package/dist/cli/distribution.js.map +1 -0
- package/dist/cli/eval.d.ts.map +1 -1
- package/dist/cli/eval.js +315 -71
- package/dist/cli/eval.js.map +1 -1
- package/dist/cli/functions.d.ts.map +1 -1
- package/dist/cli/functions.js +125 -35
- package/dist/cli/functions.js.map +1 -1
- package/dist/cli/index.js +63 -54
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init.d.ts +27 -0
- package/dist/cli/init.d.ts.map +1 -0
- package/dist/cli/init.js +152 -0
- package/dist/cli/init.js.map +1 -0
- package/dist/cli/kb.d.ts.map +1 -1
- package/dist/cli/kb.js +141 -15
- package/dist/cli/kb.js.map +1 -1
- package/dist/cli/link.d.ts +21 -0
- package/dist/cli/link.d.ts.map +1 -0
- package/dist/cli/link.js +112 -0
- package/dist/cli/link.js.map +1 -0
- package/dist/cli/org.d.ts.map +1 -1
- package/dist/cli/org.js +79 -67
- package/dist/cli/org.js.map +1 -1
- package/dist/cli/platform.d.ts +3 -0
- package/dist/cli/platform.d.ts.map +1 -0
- package/dist/cli/platform.js +133 -0
- package/dist/cli/platform.js.map +1 -0
- package/dist/cli/tickets.d.ts +3 -0
- package/dist/cli/tickets.d.ts.map +1 -0
- package/dist/cli/tickets.js +125 -0
- package/dist/cli/tickets.js.map +1 -0
- package/dist/cli/utils/output.d.ts +15 -9
- package/dist/cli/utils/output.d.ts.map +1 -1
- package/dist/cli/utils/output.js +53 -46
- package/dist/cli/utils/output.js.map +1 -1
- package/dist/cli/voice.d.ts +3 -0
- package/dist/cli/voice.d.ts.map +1 -0
- package/dist/cli/voice.js +206 -0
- package/dist/cli/voice.js.map +1 -0
- package/dist/core/diff.d.ts +16 -0
- package/dist/core/diff.d.ts.map +1 -0
- package/dist/core/diff.js +57 -0
- package/dist/core/diff.js.map +1 -0
- package/dist/core/org-resolver.d.ts +37 -0
- package/dist/core/org-resolver.d.ts.map +1 -0
- package/dist/core/org-resolver.js +73 -0
- package/dist/core/org-resolver.js.map +1 -0
- package/dist/core/runtime.d.ts +36 -0
- package/dist/core/runtime.d.ts.map +1 -0
- package/dist/core/runtime.js +62 -0
- package/dist/core/runtime.js.map +1 -0
- package/dist/core/scope.d.ts +33 -0
- package/dist/core/scope.d.ts.map +1 -0
- package/dist/core/scope.js +37 -0
- package/dist/core/scope.js.map +1 -0
- package/dist/mcp/registry.d.ts +67 -0
- package/dist/mcp/registry.d.ts.map +1 -0
- package/dist/mcp/registry.js +195 -0
- package/dist/mcp/registry.js.map +1 -0
- package/dist/mcp/server.d.ts +9 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +87 -2
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tool-meta.d.ts +21 -0
- package/dist/mcp/tool-meta.d.ts.map +1 -0
- package/dist/mcp/tool-meta.js +203 -0
- package/dist/mcp/tool-meta.js.map +1 -0
- package/dist/mcp/tools.d.ts +2 -1
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +1462 -215
- package/dist/mcp/tools.js.map +1 -1
- package/dist/sdk/agent-bundle.d.ts +99 -0
- package/dist/sdk/agent-bundle.d.ts.map +1 -0
- package/dist/sdk/agent-bundle.js +211 -0
- package/dist/sdk/agent-bundle.js.map +1 -0
- package/dist/sdk/agents.d.ts +54 -1
- package/dist/sdk/agents.d.ts.map +1 -1
- package/dist/sdk/agents.js +59 -5
- package/dist/sdk/agents.js.map +1 -1
- package/dist/sdk/analytics.d.ts +158 -0
- package/dist/sdk/analytics.d.ts.map +1 -0
- package/dist/sdk/analytics.js +185 -0
- package/dist/sdk/analytics.js.map +1 -0
- package/dist/sdk/auth.d.ts +34 -12
- package/dist/sdk/auth.d.ts.map +1 -1
- package/dist/sdk/auth.js +60 -77
- package/dist/sdk/auth.js.map +1 -1
- package/dist/sdk/billing.d.ts +25 -0
- package/dist/sdk/billing.d.ts.map +1 -0
- package/dist/sdk/billing.js +61 -0
- package/dist/sdk/billing.js.map +1 -0
- package/dist/sdk/campaigns.d.ts +35 -0
- package/dist/sdk/campaigns.d.ts.map +1 -0
- package/dist/sdk/campaigns.js +59 -0
- package/dist/sdk/campaigns.js.map +1 -0
- package/dist/sdk/chat.d.ts +25 -2
- package/dist/sdk/chat.d.ts.map +1 -1
- package/dist/sdk/chat.js +37 -10
- package/dist/sdk/chat.js.map +1 -1
- package/dist/sdk/client.d.ts +93 -5
- package/dist/sdk/client.d.ts.map +1 -1
- package/dist/sdk/client.js +362 -100
- package/dist/sdk/client.js.map +1 -1
- package/dist/sdk/config-change.d.ts +74 -0
- package/dist/sdk/config-change.d.ts.map +1 -0
- package/dist/sdk/config-change.js +117 -0
- package/dist/sdk/config-change.js.map +1 -0
- package/dist/sdk/config.d.ts.map +1 -1
- package/dist/sdk/config.js +2 -1
- package/dist/sdk/config.js.map +1 -1
- package/dist/sdk/conversations.d.ts +101 -0
- package/dist/sdk/conversations.d.ts.map +1 -0
- package/dist/sdk/conversations.js +155 -0
- package/dist/sdk/conversations.js.map +1 -0
- package/dist/sdk/credentials.d.ts +25 -0
- package/dist/sdk/credentials.d.ts.map +1 -0
- package/dist/sdk/credentials.js +44 -0
- package/dist/sdk/credentials.js.map +1 -0
- package/dist/sdk/distribution.d.ts +94 -0
- package/dist/sdk/distribution.d.ts.map +1 -0
- package/dist/sdk/distribution.js +100 -0
- package/dist/sdk/distribution.js.map +1 -0
- package/dist/sdk/eval.d.ts +81 -0
- package/dist/sdk/eval.d.ts.map +1 -1
- package/dist/sdk/eval.js +117 -0
- package/dist/sdk/eval.js.map +1 -1
- package/dist/sdk/functions.d.ts +14 -1
- package/dist/sdk/functions.d.ts.map +1 -1
- package/dist/sdk/functions.js +48 -5
- package/dist/sdk/functions.js.map +1 -1
- package/dist/sdk/index.d.ts +2 -0
- package/dist/sdk/index.d.ts.map +1 -1
- package/dist/sdk/index.js +2 -0
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/jarvis-chat.d.ts +28 -0
- package/dist/sdk/jarvis-chat.d.ts.map +1 -0
- package/dist/sdk/jarvis-chat.js +117 -0
- package/dist/sdk/jarvis-chat.js.map +1 -0
- package/dist/sdk/kb.d.ts +69 -1
- package/dist/sdk/kb.d.ts.map +1 -1
- package/dist/sdk/kb.js +111 -24
- package/dist/sdk/kb.js.map +1 -1
- package/dist/sdk/orgs.d.ts +13 -0
- package/dist/sdk/orgs.d.ts.map +1 -0
- package/dist/sdk/orgs.js +59 -0
- package/dist/sdk/orgs.js.map +1 -0
- package/dist/sdk/platform.d.ts +62 -0
- package/dist/sdk/platform.d.ts.map +1 -0
- package/dist/sdk/platform.js +95 -0
- package/dist/sdk/platform.js.map +1 -0
- package/dist/sdk/session.d.ts +25 -0
- package/dist/sdk/session.d.ts.map +1 -0
- package/dist/sdk/session.js +69 -0
- package/dist/sdk/session.js.map +1 -0
- package/dist/sdk/skills.d.ts +46 -0
- package/dist/sdk/skills.d.ts.map +1 -0
- package/dist/sdk/skills.js +203 -0
- package/dist/sdk/skills.js.map +1 -0
- package/dist/sdk/test-chat.d.ts +52 -0
- package/dist/sdk/test-chat.d.ts.map +1 -0
- package/dist/sdk/test-chat.js +134 -0
- package/dist/sdk/test-chat.js.map +1 -0
- package/dist/sdk/tickets.d.ts +98 -0
- package/dist/sdk/tickets.d.ts.map +1 -0
- package/dist/sdk/tickets.js +91 -0
- package/dist/sdk/tickets.js.map +1 -0
- package/dist/sdk/types.d.ts +91 -6
- package/dist/sdk/types.d.ts.map +1 -1
- package/dist/sdk/voice.d.ts +147 -0
- package/dist/sdk/voice.d.ts.map +1 -0
- package/dist/sdk/voice.js +236 -0
- package/dist/sdk/voice.js.map +1 -0
- package/package.json +22 -3
- package/scripts/check-skills.mjs +25 -0
- package/skills/agent-builder/SKILL.md +89 -252
- package/skills/evaluations/SKILL.md +23 -234
- package/skills/evaluations/references/analysis.md +95 -0
- package/skills/evaluations/references/cli-reference.md +28 -0
- package/skills/evaluations/references/json-formats.md +100 -0
- package/src/cli/agents.ts +202 -22
- package/src/cli/analytics.ts +138 -0
- package/src/cli/auth.ts +56 -18
- package/src/cli/billing.ts +25 -0
- package/src/cli/campaigns.ts +33 -0
- package/src/cli/chat.ts +66 -115
- package/src/cli/config.ts +65 -31
- package/src/cli/conversations.ts +133 -0
- package/src/cli/distribution.ts +116 -0
- package/src/cli/eval.ts +254 -70
- package/src/cli/functions.ts +122 -36
- package/src/cli/index.ts +58 -55
- package/src/cli/init.ts +154 -0
- package/src/cli/kb.ts +120 -17
- package/src/cli/link.ts +117 -0
- package/src/cli/org.ts +81 -75
- package/src/cli/platform.ts +128 -0
- package/src/cli/tickets.ts +130 -0
- package/src/cli/utils/output.ts +51 -42
- package/src/cli/voice.ts +204 -0
- package/src/core/diff.ts +52 -0
- package/src/core/org-resolver.ts +113 -0
- package/src/core/runtime.ts +73 -0
- package/src/core/scope.ts +64 -0
- package/src/mcp/registry.ts +236 -0
- package/src/mcp/server.ts +84 -2
- package/src/mcp/tool-meta.ts +241 -0
- package/src/mcp/tools.ts +1529 -265
- package/src/sdk/agent-bundle.ts +245 -0
- package/src/sdk/agents.ts +74 -5
- package/src/sdk/analytics.ts +220 -0
- package/src/sdk/auth.ts +87 -107
- package/src/sdk/billing.ts +59 -0
- package/src/sdk/campaigns.ts +60 -0
- package/src/sdk/chat.ts +44 -10
- package/src/sdk/client.ts +373 -102
- package/src/sdk/config-change.ts +148 -0
- package/src/sdk/config.ts +2 -1
- package/src/sdk/conversations.ts +199 -0
- package/src/sdk/credentials.ts +53 -0
- package/src/sdk/distribution.ts +132 -0
- package/src/sdk/eval.ts +140 -0
- package/src/sdk/functions.ts +52 -6
- package/src/sdk/index.ts +2 -0
- package/src/sdk/jarvis-chat.ts +112 -0
- package/src/sdk/kb.ts +116 -29
- package/src/sdk/orgs.ts +62 -0
- package/src/sdk/platform.ts +115 -0
- package/src/sdk/session.ts +90 -0
- package/src/sdk/skills.ts +188 -0
- package/src/sdk/test-chat.ts +151 -0
- package/src/sdk/tickets.ts +120 -0
- package/src/sdk/types.ts +88 -6
- package/src/sdk/voice.ts +262 -0
- package/test/cli/entry.test.ts +34 -0
- package/test/cli/init.test.ts +66 -0
- package/test/cli/link.test.ts +57 -0
- package/test/core/org-resolver.test.ts +92 -0
- package/test/core/runtime.test.ts +30 -0
- package/test/core/scope.test.ts +93 -0
- package/test/harness.test.ts +24 -0
- package/test/helpers/config-home.ts +22 -0
- package/test/helpers/fake-middleware.ts +56 -0
- package/test/helpers/fetch-recorder.ts +75 -0
- package/test/helpers/jwt.ts +9 -0
- package/test/helpers/mcp-pair.ts +38 -0
- package/test/mcp/__snapshots__/tools-snapshot.test.ts.snap +145 -0
- package/test/mcp/askers.test.ts +60 -0
- package/test/mcp/elicit-timeout.test.ts +29 -0
- package/test/mcp/registry.test.ts +169 -0
- package/test/mcp/shaping.test.ts +41 -0
- package/test/mcp/tools-snapshot.test.ts +42 -0
- package/test/sdk/agents.test.ts +232 -0
- package/test/sdk/analytics.test.ts +89 -0
- package/test/sdk/auth.test.ts +70 -0
- package/test/sdk/billing.test.ts +47 -0
- package/test/sdk/campaigns.test.ts +43 -0
- package/test/sdk/client.test.ts +80 -0
- package/test/sdk/config-change.test.ts +142 -0
- package/test/sdk/conversations.test.ts +80 -0
- package/test/sdk/credentials.test.ts +33 -0
- package/test/sdk/distribution.test.ts +55 -0
- package/test/sdk/eval.test.ts +155 -0
- package/test/sdk/kb-upload.test.ts +50 -0
- package/test/sdk/kb.test.ts +95 -0
- package/test/sdk/orgs.test.ts +48 -0
- package/test/sdk/platform.test.ts +89 -0
- package/test/sdk/renewal.test.ts +115 -0
- package/test/sdk/session.test.ts +60 -0
- package/test/sdk/skills.test.ts +235 -0
- package/test/sdk/test-chat.test.ts +112 -0
- package/test/sdk/tickets.test.ts +42 -0
- package/test/sdk/voice.test.ts +147 -0
- package/vitest.config.ts +11 -0
|
@@ -5,12 +5,12 @@
|
|
|
5
5
|
"name": "Indemn",
|
|
6
6
|
"email": "support@indemn.com"
|
|
7
7
|
},
|
|
8
|
-
"version": "1.
|
|
8
|
+
"version": "1.7.0",
|
|
9
9
|
"plugins": [
|
|
10
10
|
{
|
|
11
11
|
"name": "indemn-cli",
|
|
12
|
-
"description": "Manage Indemn AI agents
|
|
13
|
-
"version": "1.
|
|
12
|
+
"description": "Manage Indemn AI agents \u2014 create, configure, evaluate, and chat with agents programmatically",
|
|
13
|
+
"version": "1.7.0",
|
|
14
14
|
"author": {
|
|
15
15
|
"name": "Indemn",
|
|
16
16
|
"email": "support@indemn.com"
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "indemn-cli",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "Manage Indemn AI agents
|
|
3
|
+
"version": "1.7.0",
|
|
4
|
+
"description": "Manage Indemn AI agents \u2014 create, configure, evaluate, and chat with agents programmatically",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Indemn",
|
|
7
7
|
"email": "support@indemn.com"
|
|
8
8
|
},
|
|
9
|
-
"homepage": "https://
|
|
9
|
+
"homepage": "https://github.com/indemn-ai/indemn-cli#readme",
|
|
10
10
|
"repository": "https://github.com/indemn-ai/indemn-cli",
|
|
11
11
|
"license": "MIT",
|
|
12
|
-
"keywords": [
|
|
12
|
+
"keywords": [
|
|
13
|
+
"ai-agents",
|
|
14
|
+
"insurance",
|
|
15
|
+
"evaluations",
|
|
16
|
+
"indemn"
|
|
17
|
+
]
|
|
13
18
|
}
|
package/.github/workflows/ci.yml
CHANGED
|
@@ -18,3 +18,13 @@ jobs:
|
|
|
18
18
|
- run: npm ci
|
|
19
19
|
- run: npm run build
|
|
20
20
|
- run: npm test
|
|
21
|
+
- run: npm run check:skills
|
|
22
|
+
- uses: actions/setup-python@v5
|
|
23
|
+
with:
|
|
24
|
+
python-version: '3.12'
|
|
25
|
+
- name: Validate skills (Agent Skills reference validator)
|
|
26
|
+
run: |
|
|
27
|
+
pip install skills-ref==0.1.1
|
|
28
|
+
for dir in skills/*/; do agentskills validate "$dir"; done
|
|
29
|
+
- name: CLI starts and reports its version
|
|
30
|
+
run: node dist/cli/index.js --version
|
|
@@ -9,6 +9,7 @@ jobs:
|
|
|
9
9
|
runs-on: ubuntu-latest
|
|
10
10
|
permissions:
|
|
11
11
|
contents: read
|
|
12
|
+
id-token: write # npm trusted publishing (OIDC), no NPM_TOKEN needed
|
|
12
13
|
steps:
|
|
13
14
|
- uses: actions/checkout@v4
|
|
14
15
|
- uses: actions/setup-node@v4
|
|
@@ -16,9 +17,8 @@ jobs:
|
|
|
16
17
|
node-version: 22
|
|
17
18
|
cache: npm
|
|
18
19
|
registry-url: https://registry.npmjs.org
|
|
20
|
+
- run: npm install -g npm@11 # trusted publishing needs npm >= 11.5.1; pinned to major
|
|
19
21
|
- run: npm ci
|
|
20
22
|
- run: npm run build
|
|
21
23
|
- run: npm test
|
|
22
24
|
- run: npm publish --access public
|
|
23
|
-
env:
|
|
24
|
-
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
package/.mcp.json
CHANGED
package/CONTRIBUTING.md
CHANGED
|
@@ -57,4 +57,6 @@ Open GitHub issues for bugs, feature requests, or questions. Include:
|
|
|
57
57
|
|
|
58
58
|
## Publishing
|
|
59
59
|
|
|
60
|
-
CI/CD
|
|
60
|
+
CI/CD publishes `@indemn/cli` to npm on every push to the `prod` branch (`.github/workflows/publish.yml`, using the `NPM_TOKEN` repo secret). Bump `version` in `package.json` before releasing; npm rejects republishing an existing version. Do not publish manually unless necessary.
|
|
61
|
+
|
|
62
|
+
Package ownership should sit with the `@indemn` npm organization, not an individual account. Use a granular automation token owned by an org member for `NPM_TOKEN`.
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @indemn/cli
|
|
2
2
|
|
|
3
|
-
CLI, MCP server
|
|
3
|
+
CLI, MCP server and Claude Code plugin for Indemn AI agents. Create and configure agents, test them by chatting, run evaluations, and reach every area of the platform from a terminal or from an AI assistant.
|
|
4
4
|
|
|
5
5
|
## Install
|
|
6
6
|
|
|
@@ -8,224 +8,117 @@ CLI, MCP server, and Claude Code plugin for managing Indemn AI agents. Create, c
|
|
|
8
8
|
npm install -g @indemn/cli
|
|
9
9
|
```
|
|
10
10
|
|
|
11
|
-
##
|
|
11
|
+
## Log in
|
|
12
12
|
|
|
13
13
|
```bash
|
|
14
|
-
indemn login --env dev
|
|
15
|
-
|
|
16
|
-
# MFA code will be sent to your email if enabled
|
|
14
|
+
indemn login --env dev # or --env production
|
|
15
|
+
indemn whoami
|
|
17
16
|
```
|
|
18
17
|
|
|
19
|
-
|
|
18
|
+
Login keeps the same session the dashboard uses; no API key is created. The session is stored in `~/.indemn/config.json` (readable only by you). It renews itself when it nears its expiry (if the platform sets one) or when the platform rejects it; accounts with MFA are asked for the emailed code at renewal. `indemn whoami` shows when the session ends, if it has an end. When renewal is impossible (password changed, access removed), commands stop with exit code 3 and ask you to log in again. `indemn logout` revokes the session on the server.
|
|
20
19
|
|
|
21
|
-
|
|
20
|
+
The platform (dev or production) is the one you logged in to. There is no per-command switch.
|
|
22
21
|
|
|
23
|
-
|
|
24
|
-
indemn whoami # shows your user, org, environment
|
|
25
|
-
indemn agents list # lists your agents
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
## Quick Start
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
# Create an agent
|
|
32
|
-
indemn agents create --name "My Insurance Bot"
|
|
33
|
-
|
|
34
|
-
# Set its prompt
|
|
35
|
-
indemn config set <agent-id> --prompt "You are a helpful insurance assistant."
|
|
36
|
-
|
|
37
|
-
# Chat with it
|
|
38
|
-
indemn chat <agent-id>
|
|
39
|
-
|
|
40
|
-
# Run evaluations
|
|
41
|
-
indemn eval run <agent-id> --test-set <id> --rubric <id> --wait
|
|
42
|
-
```
|
|
22
|
+
## Organizations
|
|
43
23
|
|
|
44
|
-
|
|
24
|
+
You may belong to several organizations. Commands never guess which one:
|
|
45
25
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
indemn whoami # Show current user/org/env
|
|
51
|
-
```
|
|
26
|
+
1. `--org <id>` on the command, or `org_id` on an MCP tool;
|
|
27
|
+
2. otherwise the folder's link, made with `indemn link --org <id> [agent-ids...]` (writes `.indemn/project.json`; linked folders refuse agents not on the list);
|
|
28
|
+
3. otherwise your only org;
|
|
29
|
+
4. otherwise the CLI asks, or exits with code 2 and lists your orgs.
|
|
52
30
|
|
|
53
|
-
### Agent Management
|
|
54
31
|
```bash
|
|
55
|
-
indemn
|
|
56
|
-
indemn
|
|
57
|
-
indemn
|
|
58
|
-
indemn agents update <id> [--name] [--description] [--webhook-url]
|
|
59
|
-
indemn agents delete <id>
|
|
60
|
-
indemn agents clone <id>
|
|
32
|
+
indemn org list | current | members
|
|
33
|
+
indemn link --org <org-id> <agent-id>
|
|
34
|
+
indemn unlink
|
|
61
35
|
```
|
|
62
36
|
|
|
63
|
-
|
|
64
|
-
```bash
|
|
65
|
-
indemn config get <agent-id> [--field prompt|greeting|model] [--json]
|
|
66
|
-
indemn config set <agent-id> [--prompt "..."] [--prompt-file path] [--model "..."]
|
|
67
|
-
```
|
|
37
|
+
## Safety
|
|
68
38
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
indemn functions update <agent-id> <func-id> [--description "..."]
|
|
74
|
-
indemn functions delete <agent-id> <func-id>
|
|
75
|
-
indemn functions test <agent-id> <func-id>
|
|
76
|
-
indemn functions export <agent-id>
|
|
77
|
-
indemn functions import <agent-id> --url "..."
|
|
78
|
-
indemn functions master-list # list master function templates
|
|
79
|
-
indemn functions params list <agent-id> <func-id>
|
|
80
|
-
indemn functions params add <agent-id> <func-id> --name "..." --type string [--required]
|
|
81
|
-
indemn functions params update <agent-id> <func-id> <param-id> [--description "..."]
|
|
82
|
-
indemn functions params delete <agent-id> <func-id> <param-id>
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
### Knowledge Bases
|
|
86
|
-
```bash
|
|
87
|
-
indemn kb list [--json] [--limit N] [--page N]
|
|
88
|
-
indemn kb create --name "..." --type qna
|
|
89
|
-
indemn kb get <kb-id>
|
|
90
|
-
indemn kb update <kb-id> [--name "..."]
|
|
91
|
-
indemn kb delete <kb-id>
|
|
92
|
-
indemn kb data list <kb-id>
|
|
93
|
-
indemn kb data add <kb-id> --question "..." --answer "..." # QnA data
|
|
94
|
-
indemn kb data add <kb-id> --source-url "https://..." # URL scraping
|
|
95
|
-
indemn kb data add <kb-id> --file /path/to/file.pdf # file upload
|
|
96
|
-
indemn kb link <agent-id> <kb-id> [kb-id...]
|
|
97
|
-
indemn kb unlink <agent-id> <kb-id>
|
|
98
|
-
indemn kb export <kb-id> [--format csv]
|
|
99
|
-
```
|
|
39
|
+
- **Every chat is a test conversation.** `indemn chat` and the MCP `chat_with_agent` mark the conversation as a test, show the tester's name in the dashboard, and read the stored conversation back before the first message; if it was stored as live or in another org, nothing is sent.
|
|
40
|
+
- **Changes ask first.** Deleting, importing, replacing a prompt or model, changing lifecycle, attaching numbers and starting paid runs show what would happen and ask. Scripts pass `--yes`. Published agents also need `--confirm-published`, and an agent whose status cannot be read is treated as published. Changing a skill or the webhook of an agent that may be live asks first too. MCP tools return a dry run until the user agrees; hosts that support elicitation ask the user directly.
|
|
41
|
+
- **Read-only areas.** Billing and campaigns are read-only. Phone numbers are bought only after a person confirms that exact number (`agents numbers buy`, or the approval form in MCP; an AI cannot confirm a purchase itself); searching is free. Shared V2 catalogs (components, connectors) are read-only.
|
|
42
|
+
- **Exit codes.** 0 success, 1 error, 2 a choice is needed, 3 log in again.
|
|
100
43
|
|
|
101
|
-
|
|
102
|
-
```bash
|
|
103
|
-
indemn eval run <agent-id> --test-set <id> [--rubric <id>] [--wait] [--eval-model gpt-4o] [--limit N]
|
|
104
|
-
indemn eval list [--agent-id <id>] [--json] [--limit N]
|
|
105
|
-
indemn eval status <run-id> [--json]
|
|
106
|
-
indemn eval results <run-id> [--json]
|
|
107
|
-
indemn eval bot-context <agent-id> [--json]
|
|
108
|
-
```
|
|
44
|
+
## Commands
|
|
109
45
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
46
|
+
| Area | Commands |
|
|
47
|
+
|---|---|
|
|
48
|
+
| Login and orgs | `login`, `logout`, `whoami`, `org list\|current\|members\|switch\|config`, `link`, `unlink`, `channels list` |
|
|
49
|
+
| Agents | `agents list\|get\|create\|update\|delete\|clone\|summary\|stats\|lifecycle\|owner\|export\|import\|embed\|card` |
|
|
50
|
+
| Prompt and model | `config get\|set` (diff, `--dry-run`, `--yes`), `models` |
|
|
51
|
+
| Skills | `skills list\|create\|update\|delete\|test\|export\|import\|generate\|bulk-create\|params` (alias `functions`) |
|
|
52
|
+
| Knowledge bases | `kb list\|get\|create\|update\|delete\|link\|unlink\|export\|import\|status\|gaps\|check`, `kb data list\|add\|update\|delete\|chunks\|reimport` |
|
|
53
|
+
| Chat and conversations | `chat`, `conversations list\|get\|export [--as-testset]\|mark-test` |
|
|
54
|
+
| Voice | `voices list\|filters\|play`, `voice-models list`, `agents voice get\|set\|play`, `agents numbers list\|attach\|detach`, `agents voice-preview` |
|
|
55
|
+
| Website | `distributions list\|create\|update`, `templates list\|create\|update\|delete`, `solutions list` |
|
|
56
|
+
| Analytics and settings | `analytics metrics\|performance\|volume\|handoffs\|feedback\|conversations\|charts\|chart`, `org config get\|timezone\|business-hours\|holidays`, `audit list` |
|
|
57
|
+
| Tickets | `tickets list\|get\|create\|update\|assign\|resolve\|link\|archive`, `tickets rules list\|create\|update\|delete` |
|
|
58
|
+
| Billing (read-only) | `billing status\|invoices\|usage-forecast\|plans` |
|
|
59
|
+
| Campaigns (read-only) | `campaigns list\|get\|counts\|forecast\|next-touchpoints\|versions`, `campaigns templates list\|get\|skills` |
|
|
60
|
+
| Evaluations | `eval run\|status\|results\|list\|trends\|compare\|report\|export\|metrics\|transcript\|prod-calls\|datasets\|evaluators`, `rubric ...`, `testset ...` |
|
|
61
|
+
| V2 platform and Jarvis | `platform agents\|templates\|components\|connectors\|bindings\|scenarios\|simulations\|org-evaluations`, `jarvis chat`, `jarvis jobs create\|list\|get` |
|
|
126
62
|
|
|
127
|
-
|
|
128
|
-
```bash
|
|
129
|
-
indemn chat <agent-id> [--session <session-id>] # interactive
|
|
130
|
-
indemn chat <agent-id> --message "Hello" # single message
|
|
131
|
-
```
|
|
63
|
+
Global flags: `--org <id>`, `--debug` (prints every request and status, never credentials), `--no-banner`, and `--json` on most commands.
|
|
132
64
|
|
|
133
|
-
###
|
|
134
|
-
```bash
|
|
135
|
-
indemn models # list available LLM providers and models
|
|
136
|
-
```
|
|
65
|
+
### CI evaluation gate
|
|
137
66
|
|
|
138
|
-
### MCP Server
|
|
139
67
|
```bash
|
|
140
|
-
indemn
|
|
68
|
+
indemn eval run <agent-id> --test-set <id> --min-pass-rate 0.9 --max-p95-ms 6000 --fail-on-error --yes
|
|
141
69
|
```
|
|
142
70
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
### MCP Server (tools)
|
|
71
|
+
Exits 1 when the run misses the bar (same rules as the evaluations repo's gate script).
|
|
146
72
|
|
|
147
|
-
|
|
73
|
+
## Claude Code
|
|
148
74
|
|
|
149
75
|
```bash
|
|
150
|
-
|
|
151
|
-
-e INDEMN_API_KEY=ind_dev_... \
|
|
152
|
-
-e INDEMN_ENV=dev \
|
|
153
|
-
-- indemn npx @indemn/cli mcp serve
|
|
76
|
+
indemn init
|
|
154
77
|
```
|
|
155
78
|
|
|
156
|
-
|
|
157
|
-
```json
|
|
158
|
-
{
|
|
159
|
-
"indemn": {
|
|
160
|
-
"command": "npx",
|
|
161
|
-
"args": ["@indemn/cli", "mcp", "serve"],
|
|
162
|
-
"env": {
|
|
163
|
-
"INDEMN_API_KEY": "ind_dev_...",
|
|
164
|
-
"INDEMN_ENV": "dev"
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
```
|
|
169
|
-
|
|
170
|
-
The MCP server exposes 55 tools: `list_agents`, `create_agent`, `set_prompt`, `run_evaluation`, `chat_with_agent`, etc.
|
|
79
|
+
Writes the skills and rules into `.claude/`, adds the MCP server to `.mcp.json`, and adds permission rules to `.claude/settings.json`: read-only tools run without asking, tools that change things ask every time. `indemn init --status` shows what is set up. Existing files are merged, not overwritten.
|
|
171
80
|
|
|
172
|
-
|
|
81
|
+
The MCP server (`indemn mcp serve`) exposes the same actions as tools. Each tool has a title and read-only or destructive labels; list tools take `limit` and `page`; large results are trimmed with a hint instead of failing.
|
|
173
82
|
|
|
174
|
-
|
|
83
|
+
Plugin install:
|
|
175
84
|
|
|
176
85
|
```bash
|
|
177
86
|
claude plugins marketplace add https://github.com/indemn-ai/indemn-cli
|
|
178
87
|
claude plugins install indemn-cli
|
|
179
88
|
```
|
|
180
89
|
|
|
181
|
-
|
|
182
|
-
|-------|---------|
|
|
183
|
-
| `eval-orchestration` | Full evaluation lifecycle with directive allocation |
|
|
184
|
-
| `test-set-creation` | Design test sets with scenarios and diagnostics |
|
|
185
|
-
| `rubric-creation` | Create universal behavioral rubrics (3-6 rules) |
|
|
186
|
-
| `agent-setup` | End-to-end agent creation workflow |
|
|
187
|
-
|
|
188
|
-
## Global Flags
|
|
90
|
+
Skills: `agent-builder` (create, configure and test agents) and `evaluations` (rubrics, test sets, runs, analysis, reports).
|
|
189
91
|
|
|
190
|
-
|
|
191
|
-
indemn --env dev agents list # override environment for a single command
|
|
192
|
-
indemn agents list --json # JSON output (available on most commands)
|
|
193
|
-
indemn agents list --limit 5 # limit results
|
|
194
|
-
indemn agents list --limit 5 --page 2 # pagination
|
|
195
|
-
```
|
|
92
|
+
## Environment variables
|
|
196
93
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
|
200
|
-
|
|
201
|
-
| `INDEMN_API_KEY` | API key
|
|
202
|
-
| `
|
|
203
|
-
| `
|
|
94
|
+
| Variable | Meaning |
|
|
95
|
+
|---|---|
|
|
96
|
+
| `INDEMN_TOKEN` + `INDEMN_ENV` | A session token supplied by a host (for example Darwin starting the toolbox for Jarvis), and its platform |
|
|
97
|
+
| `INDEMN_ORG_ID` | Org for a host-supplied session; same as `--org` |
|
|
98
|
+
| `INDEMN_API_KEY` | An existing dev API key for pipelines; login no longer creates keys |
|
|
99
|
+
| `INDEMN_DEBUG=1` | Same as `--debug` |
|
|
100
|
+
| `INDEMN_NON_INTERACTIVE=1` | Never prompt (also automatic under Claude Code, CI, or without a terminal) |
|
|
101
|
+
| `INDEMN_COPILOT_URL`, `INDEMN_EVALS_URL`, `INDEMN_MIDDLEWARE_URL`, `INDEMN_PLATFORM_URL` | Override service hosts (local development) |
|
|
204
102
|
|
|
205
103
|
## Architecture
|
|
206
104
|
|
|
207
105
|
```
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
└── Skills (workflow guides for Claude)
|
|
106
|
+
src/
|
|
107
|
+
core/ runtime rules (exit codes, non-interactive), org resolver, per-call org scope, diff
|
|
108
|
+
sdk/ one client per backend path: copilot-server (REST), middleware (Socket.IO chat),
|
|
109
|
+
evaluations (REST), Darwin V2 platform (REST + WebSocket for Jarvis)
|
|
110
|
+
cli/ Commander commands, one module per area
|
|
111
|
+
mcp/ MCP server: tool registry (titles, annotations, org_id, confirmation, result shaping)
|
|
112
|
+
report/ PDF and Markdown reports
|
|
216
113
|
```
|
|
217
114
|
|
|
115
|
+
Every request names the client (`User-Agent: indemn-cli/<version>`, `X-Indemn-Client: cli|mcp`), retries reads only, and re-reads the saved login so a new login in another terminal is picked up.
|
|
116
|
+
|
|
218
117
|
## Development
|
|
219
118
|
|
|
220
119
|
```bash
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
npm
|
|
224
|
-
npm run
|
|
225
|
-
npm run dev # Watch mode
|
|
226
|
-
npm test # Run tests
|
|
120
|
+
npm ci
|
|
121
|
+
npm run build
|
|
122
|
+
npm test
|
|
123
|
+
npm run check:skills
|
|
227
124
|
```
|
|
228
|
-
|
|
229
|
-
## License
|
|
230
|
-
|
|
231
|
-
MIT
|
package/dist/cli/agents.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/cli/agents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/cli/agents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwBpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+X5D"}
|