@indemn/cli 1.0.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/plugin.json +13 -0
- package/.mcp.json +9 -0
- package/README.md +225 -0
- package/dist/cli/agents.d.ts +3 -0
- package/dist/cli/agents.d.ts.map +1 -0
- package/dist/cli/agents.js +187 -0
- package/dist/cli/agents.js.map +1 -0
- package/dist/cli/auth.d.ts +3 -0
- package/dist/cli/auth.d.ts.map +1 -0
- package/dist/cli/auth.js +161 -0
- package/dist/cli/auth.js.map +1 -0
- package/dist/cli/chat.d.ts +3 -0
- package/dist/cli/chat.d.ts.map +1 -0
- package/dist/cli/chat.js +142 -0
- package/dist/cli/chat.js.map +1 -0
- package/dist/cli/config.d.ts +3 -0
- package/dist/cli/config.d.ts.map +1 -0
- package/dist/cli/config.js +119 -0
- package/dist/cli/config.js.map +1 -0
- package/dist/cli/eval.d.ts +3 -0
- package/dist/cli/eval.d.ts.map +1 -0
- package/dist/cli/eval.js +717 -0
- package/dist/cli/eval.js.map +1 -0
- package/dist/cli/functions.d.ts +3 -0
- package/dist/cli/functions.d.ts.map +1 -0
- package/dist/cli/functions.js +346 -0
- package/dist/cli/functions.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +64 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/kb.d.ts +3 -0
- package/dist/cli/kb.d.ts.map +1 -0
- package/dist/cli/kb.js +377 -0
- package/dist/cli/kb.js.map +1 -0
- package/dist/cli/utils/output.d.ts +6 -0
- package/dist/cli/utils/output.d.ts.map +1 -0
- package/dist/cli/utils/output.js +36 -0
- package/dist/cli/utils/output.js.map +1 -0
- package/dist/mcp/server.d.ts +2 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +15 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/tools.d.ts +4 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mcp/tools.js +814 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/sdk/agents.d.ts +13 -0
- package/dist/sdk/agents.d.ts.map +1 -0
- package/dist/sdk/agents.js +27 -0
- package/dist/sdk/agents.js.map +1 -0
- package/dist/sdk/auth.d.ts +18 -0
- package/dist/sdk/auth.d.ts.map +1 -0
- package/dist/sdk/auth.js +98 -0
- package/dist/sdk/auth.js.map +1 -0
- package/dist/sdk/chat.d.ts +17 -0
- package/dist/sdk/chat.d.ts.map +1 -0
- package/dist/sdk/chat.js +113 -0
- package/dist/sdk/chat.js.map +1 -0
- package/dist/sdk/client.d.ts +36 -0
- package/dist/sdk/client.d.ts.map +1 -0
- package/dist/sdk/client.js +219 -0
- package/dist/sdk/client.js.map +1 -0
- package/dist/sdk/config.d.ts +11 -0
- package/dist/sdk/config.d.ts.map +1 -0
- package/dist/sdk/config.js +20 -0
- package/dist/sdk/config.js.map +1 -0
- package/dist/sdk/eval.d.ts +13 -0
- package/dist/sdk/eval.d.ts.map +1 -0
- package/dist/sdk/eval.js +36 -0
- package/dist/sdk/eval.js.map +1 -0
- package/dist/sdk/functions.d.ts +30 -0
- package/dist/sdk/functions.d.ts.map +1 -0
- package/dist/sdk/functions.js +59 -0
- package/dist/sdk/functions.js.map +1 -0
- package/dist/sdk/index.d.ts +12 -0
- package/dist/sdk/index.d.ts.map +1 -0
- package/dist/sdk/index.js +12 -0
- package/dist/sdk/index.js.map +1 -0
- package/dist/sdk/kb.d.ts +30 -0
- package/dist/sdk/kb.d.ts.map +1 -0
- package/dist/sdk/kb.js +102 -0
- package/dist/sdk/kb.js.map +1 -0
- package/dist/sdk/rubrics.d.ts +14 -0
- package/dist/sdk/rubrics.d.ts.map +1 -0
- package/dist/sdk/rubrics.js +29 -0
- package/dist/sdk/rubrics.js.map +1 -0
- package/dist/sdk/test-sets.d.ts +14 -0
- package/dist/sdk/test-sets.d.ts.map +1 -0
- package/dist/sdk/test-sets.js +29 -0
- package/dist/sdk/test-sets.js.map +1 -0
- package/dist/sdk/types.d.ts +305 -0
- package/dist/sdk/types.d.ts.map +1 -0
- package/dist/sdk/types.js +3 -0
- package/dist/sdk/types.js.map +1 -0
- package/package.json +40 -0
- package/skills/agent-setup/SKILL.md +131 -0
- package/skills/eval-orchestration/SKILL.md +257 -0
- package/skills/rubric-creation/SKILL.md +163 -0
- package/skills/test-set-creation/SKILL.md +250 -0
- package/src/cli/agents.ts +206 -0
- package/src/cli/auth.ts +170 -0
- package/src/cli/chat.ts +161 -0
- package/src/cli/config.ts +131 -0
- package/src/cli/eval.ts +750 -0
- package/src/cli/functions.ts +330 -0
- package/src/cli/index.ts +68 -0
- package/src/cli/kb.ts +412 -0
- package/src/cli/utils/output.ts +42 -0
- package/src/mcp/server.ts +17 -0
- package/src/mcp/tools.ts +971 -0
- package/src/sdk/agents.ts +47 -0
- package/src/sdk/auth.ts +132 -0
- package/src/sdk/chat.ts +133 -0
- package/src/sdk/client.ts +238 -0
- package/src/sdk/config.ts +28 -0
- package/src/sdk/eval.ts +57 -0
- package/src/sdk/functions.ts +103 -0
- package/src/sdk/index.ts +11 -0
- package/src/sdk/kb.ts +183 -0
- package/src/sdk/rubrics.ts +35 -0
- package/src/sdk/test-sets.ts +35 -0
- package/src/sdk/types.ts +347 -0
- package/test/fixtures/test-rubric.json +66 -0
- package/test/fixtures/test-testset.json +55 -0
- package/tsconfig.json +19 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rubrics.d.ts","sourceRoot":"","sources":["../../src/sdk/rubrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE5D,qBAAa,UAAU;IACT,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,YAAY;IAElC,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAKhD,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAItC,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIvD,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAI5E,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAI3C,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAG/D"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export class RubricsSDK {
|
|
2
|
+
client;
|
|
3
|
+
constructor(client) {
|
|
4
|
+
this.client = client;
|
|
5
|
+
}
|
|
6
|
+
async listRubrics(agentId) {
|
|
7
|
+
const query = agentId ? { agent_id: agentId } : undefined;
|
|
8
|
+
return this.client.evalsGet('/api/v1/rubrics', query);
|
|
9
|
+
}
|
|
10
|
+
async getRubric(id) {
|
|
11
|
+
return this.client.evalsGet(`/api/v1/rubrics/${id}`);
|
|
12
|
+
}
|
|
13
|
+
async createRubric(input) {
|
|
14
|
+
return this.client.evalsPost('/api/v1/rubrics', input);
|
|
15
|
+
}
|
|
16
|
+
async updateRubric(id, input) {
|
|
17
|
+
return this.client.evalsPut(`/api/v1/rubrics/${id}`, input);
|
|
18
|
+
}
|
|
19
|
+
async deleteRubric(id) {
|
|
20
|
+
await this.client.evalsDelete(`/api/v1/rubrics/${id}`);
|
|
21
|
+
}
|
|
22
|
+
async listVersions(id) {
|
|
23
|
+
return this.client.evalsGet(`/api/v1/rubrics/${id}/versions`);
|
|
24
|
+
}
|
|
25
|
+
async getVersion(id, version) {
|
|
26
|
+
return this.client.evalsGet(`/api/v1/rubrics/${id}/versions/${version}`);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=rubrics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rubrics.js","sourceRoot":"","sources":["../../src/sdk/rubrics.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,UAAU;IACD;IAApB,YAAoB,MAAoB;QAApB,WAAM,GAAN,MAAM,CAAc;IAAG,CAAC;IAE5C,KAAK,CAAC,WAAW,CAAC,OAAgB;QAChC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1D,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAW,iBAAiB,EAAE,KAAK,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,EAAU;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAS,mBAAmB,EAAE,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAwB;QACzC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAS,iBAAiB,EAAE,KAAK,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,EAAU,EAAE,KAAiC;QAC9D,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAS,mBAAmB,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,EAAU;QAC3B,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,EAAU;QAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAW,mBAAmB,EAAE,WAAW,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAU,EAAE,OAAe;QAC1C,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAS,mBAAmB,EAAE,aAAa,OAAO,EAAE,CAAC,CAAC;IACnF,CAAC;CACF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { IndemnClient } from './client.js';
|
|
2
|
+
import type { TestSet, CreateTestSetInput } from './types.js';
|
|
3
|
+
export declare class TestSetsSDK {
|
|
4
|
+
private client;
|
|
5
|
+
constructor(client: IndemnClient);
|
|
6
|
+
listTestSets(agentId?: string): Promise<TestSet[]>;
|
|
7
|
+
getTestSet(id: string): Promise<TestSet>;
|
|
8
|
+
createTestSet(input: CreateTestSetInput): Promise<TestSet>;
|
|
9
|
+
updateTestSet(id: string, input: Partial<CreateTestSetInput>): Promise<TestSet>;
|
|
10
|
+
deleteTestSet(id: string): Promise<void>;
|
|
11
|
+
listVersions(id: string): Promise<TestSet[]>;
|
|
12
|
+
getVersion(id: string, version: number): Promise<TestSet>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=test-sets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-sets.d.ts","sourceRoot":"","sources":["../../src/sdk/test-sets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE9D,qBAAa,WAAW;IACV,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,YAAY;IAElC,YAAY,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAKlD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIxC,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAI1D,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAI/E,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxC,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAI5C,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAGhE"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export class TestSetsSDK {
|
|
2
|
+
client;
|
|
3
|
+
constructor(client) {
|
|
4
|
+
this.client = client;
|
|
5
|
+
}
|
|
6
|
+
async listTestSets(agentId) {
|
|
7
|
+
const query = agentId ? { agent_id: agentId } : undefined;
|
|
8
|
+
return this.client.evalsGet('/api/v1/test-sets', query);
|
|
9
|
+
}
|
|
10
|
+
async getTestSet(id) {
|
|
11
|
+
return this.client.evalsGet(`/api/v1/test-sets/${id}`);
|
|
12
|
+
}
|
|
13
|
+
async createTestSet(input) {
|
|
14
|
+
return this.client.evalsPost('/api/v1/test-sets', input);
|
|
15
|
+
}
|
|
16
|
+
async updateTestSet(id, input) {
|
|
17
|
+
return this.client.evalsPut(`/api/v1/test-sets/${id}`, input);
|
|
18
|
+
}
|
|
19
|
+
async deleteTestSet(id) {
|
|
20
|
+
await this.client.evalsDelete(`/api/v1/test-sets/${id}`);
|
|
21
|
+
}
|
|
22
|
+
async listVersions(id) {
|
|
23
|
+
return this.client.evalsGet(`/api/v1/test-sets/${id}/versions`);
|
|
24
|
+
}
|
|
25
|
+
async getVersion(id, version) {
|
|
26
|
+
return this.client.evalsGet(`/api/v1/test-sets/${id}/versions/${version}`);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=test-sets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-sets.js","sourceRoot":"","sources":["../../src/sdk/test-sets.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,WAAW;IACF;IAApB,YAAoB,MAAoB;QAApB,WAAM,GAAN,MAAM,CAAc;IAAG,CAAC;IAE5C,KAAK,CAAC,YAAY,CAAC,OAAgB;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1D,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAY,mBAAmB,EAAE,KAAK,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAU;QACzB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAU,qBAAqB,EAAE,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAAyB;QAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAU,mBAAmB,EAAE,KAAK,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAU,EAAE,KAAkC;QAChE,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAU,qBAAqB,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAU;QAC5B,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,EAAU;QAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAY,qBAAqB,EAAE,WAAW,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAU,EAAE,OAAe;QAC1C,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAU,qBAAqB,EAAE,aAAa,OAAO,EAAE,CAAC,CAAC;IACtF,CAAC;CACF"}
|
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
export type Environment = 'dev' | 'production';
|
|
2
|
+
export interface EnvironmentHosts {
|
|
3
|
+
copilot: string;
|
|
4
|
+
evaluations: string;
|
|
5
|
+
middleware: string;
|
|
6
|
+
}
|
|
7
|
+
export interface IndemnConfig {
|
|
8
|
+
api_key: string;
|
|
9
|
+
org_id: string;
|
|
10
|
+
user_id: string;
|
|
11
|
+
environment: Environment;
|
|
12
|
+
hosts: Record<Environment, EnvironmentHosts>;
|
|
13
|
+
}
|
|
14
|
+
export interface ApiResponse<T = unknown> {
|
|
15
|
+
success: boolean;
|
|
16
|
+
data: T;
|
|
17
|
+
msg?: string;
|
|
18
|
+
}
|
|
19
|
+
export interface Agent {
|
|
20
|
+
_id: string;
|
|
21
|
+
name: string;
|
|
22
|
+
description?: string;
|
|
23
|
+
channels?: string[];
|
|
24
|
+
webhook_url?: string;
|
|
25
|
+
webhook_enabled?: boolean;
|
|
26
|
+
trashed?: boolean;
|
|
27
|
+
id_project?: string;
|
|
28
|
+
createdAt?: string;
|
|
29
|
+
updatedAt?: string;
|
|
30
|
+
}
|
|
31
|
+
export interface AgentExpanded extends Agent {
|
|
32
|
+
configurations?: BotConfiguration;
|
|
33
|
+
functions?: BotFunction[];
|
|
34
|
+
mappings?: KBMapping[];
|
|
35
|
+
}
|
|
36
|
+
export interface CreateAgentInput {
|
|
37
|
+
name: string;
|
|
38
|
+
channels?: string[];
|
|
39
|
+
}
|
|
40
|
+
export interface UpdateAgentInput {
|
|
41
|
+
name?: string;
|
|
42
|
+
description?: string;
|
|
43
|
+
webhook_url?: string;
|
|
44
|
+
webhook_enabled?: boolean;
|
|
45
|
+
}
|
|
46
|
+
export interface AIConfig {
|
|
47
|
+
system_prompt?: string;
|
|
48
|
+
system_prompt_ops?: Record<string, unknown>;
|
|
49
|
+
use_default_prompt?: boolean;
|
|
50
|
+
kb_configuration?: {
|
|
51
|
+
namespace?: string;
|
|
52
|
+
index_name?: string;
|
|
53
|
+
embedding_provider?: string;
|
|
54
|
+
};
|
|
55
|
+
is_reranking_enabled?: boolean;
|
|
56
|
+
identify_next_step_enabled?: boolean;
|
|
57
|
+
}
|
|
58
|
+
export interface FirstMessage {
|
|
59
|
+
text?: string;
|
|
60
|
+
quick_replies?: Array<{
|
|
61
|
+
type: string;
|
|
62
|
+
title: string;
|
|
63
|
+
payload: string;
|
|
64
|
+
}>;
|
|
65
|
+
}
|
|
66
|
+
export interface BotConfiguration {
|
|
67
|
+
ai_config?: AIConfig;
|
|
68
|
+
first_message?: FirstMessage;
|
|
69
|
+
is_button_enabled?: boolean;
|
|
70
|
+
[key: string]: unknown;
|
|
71
|
+
}
|
|
72
|
+
export interface SetConfigInput {
|
|
73
|
+
system_prompt?: string;
|
|
74
|
+
first_message?: FirstMessage;
|
|
75
|
+
[key: string]: unknown;
|
|
76
|
+
}
|
|
77
|
+
export interface BotFunction {
|
|
78
|
+
_id: string;
|
|
79
|
+
type: string;
|
|
80
|
+
description?: string;
|
|
81
|
+
name?: string;
|
|
82
|
+
url?: string;
|
|
83
|
+
method?: string;
|
|
84
|
+
headers?: Record<string, string>;
|
|
85
|
+
body?: Record<string, unknown>;
|
|
86
|
+
parameters?: FunctionParameter[];
|
|
87
|
+
id_bot?: string;
|
|
88
|
+
createdAt?: string;
|
|
89
|
+
updatedAt?: string;
|
|
90
|
+
}
|
|
91
|
+
export interface FunctionParameter {
|
|
92
|
+
_id?: string;
|
|
93
|
+
name: string;
|
|
94
|
+
type: string;
|
|
95
|
+
description?: string;
|
|
96
|
+
required?: boolean;
|
|
97
|
+
}
|
|
98
|
+
export interface CreateFunctionInput {
|
|
99
|
+
type: string;
|
|
100
|
+
description?: string;
|
|
101
|
+
name?: string;
|
|
102
|
+
url?: string;
|
|
103
|
+
method?: string;
|
|
104
|
+
headers?: Record<string, string>;
|
|
105
|
+
body?: Record<string, unknown>;
|
|
106
|
+
}
|
|
107
|
+
export interface UpdateFunctionInput {
|
|
108
|
+
description?: string;
|
|
109
|
+
name?: string;
|
|
110
|
+
url?: string;
|
|
111
|
+
method?: string;
|
|
112
|
+
headers?: Record<string, string>;
|
|
113
|
+
body?: Record<string, unknown>;
|
|
114
|
+
}
|
|
115
|
+
export interface KnowledgeBase {
|
|
116
|
+
_id: string;
|
|
117
|
+
name: string;
|
|
118
|
+
type?: string;
|
|
119
|
+
description?: string;
|
|
120
|
+
id_project?: string;
|
|
121
|
+
createdAt?: string;
|
|
122
|
+
updatedAt?: string;
|
|
123
|
+
}
|
|
124
|
+
export interface CreateKBInput {
|
|
125
|
+
name: string;
|
|
126
|
+
type: string;
|
|
127
|
+
}
|
|
128
|
+
export interface UpdateKBInput {
|
|
129
|
+
name?: string;
|
|
130
|
+
description?: string;
|
|
131
|
+
}
|
|
132
|
+
export interface DataSource {
|
|
133
|
+
_id: string;
|
|
134
|
+
name?: string;
|
|
135
|
+
type?: string;
|
|
136
|
+
content?: string;
|
|
137
|
+
question?: string;
|
|
138
|
+
answer?: string;
|
|
139
|
+
source_url?: string;
|
|
140
|
+
status?: string;
|
|
141
|
+
id_kb?: string;
|
|
142
|
+
createdAt?: string;
|
|
143
|
+
updatedAt?: string;
|
|
144
|
+
}
|
|
145
|
+
export interface AddDataSourceInput {
|
|
146
|
+
question?: string;
|
|
147
|
+
answer?: string;
|
|
148
|
+
name?: string;
|
|
149
|
+
source_url?: string;
|
|
150
|
+
content?: string;
|
|
151
|
+
}
|
|
152
|
+
export interface KBMapping {
|
|
153
|
+
_id: string;
|
|
154
|
+
id_bot: string;
|
|
155
|
+
id_kb: string;
|
|
156
|
+
}
|
|
157
|
+
export interface RubricRule {
|
|
158
|
+
id: string;
|
|
159
|
+
name: string;
|
|
160
|
+
severity: 'high' | 'medium' | 'low';
|
|
161
|
+
category: 'persona' | 'instruction_compliance' | 'safety' | 'response_quality';
|
|
162
|
+
description: string;
|
|
163
|
+
component_scope?: 'prompt' | 'general' | 'function' | 'knowledge_base';
|
|
164
|
+
component_ids?: string[] | null;
|
|
165
|
+
component_names?: string[] | null;
|
|
166
|
+
evaluation_criteria?: {
|
|
167
|
+
pass_conditions: string[];
|
|
168
|
+
fail_conditions: string[];
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
export interface Rubric {
|
|
172
|
+
_id?: string;
|
|
173
|
+
rubric_id?: string;
|
|
174
|
+
agent_id?: string;
|
|
175
|
+
name: string;
|
|
176
|
+
description?: string;
|
|
177
|
+
version?: number;
|
|
178
|
+
severity_definitions?: Record<string, string>;
|
|
179
|
+
rules: RubricRule[];
|
|
180
|
+
createdAt?: string;
|
|
181
|
+
updatedAt?: string;
|
|
182
|
+
}
|
|
183
|
+
export interface CreateRubricInput {
|
|
184
|
+
agent_id?: string;
|
|
185
|
+
name: string;
|
|
186
|
+
description?: string;
|
|
187
|
+
severity_definitions?: Record<string, string>;
|
|
188
|
+
rules: RubricRule[];
|
|
189
|
+
}
|
|
190
|
+
export interface TestItem {
|
|
191
|
+
type: 'single_turn' | 'scenario' | 'voice_simulation';
|
|
192
|
+
name: string;
|
|
193
|
+
inputs: {
|
|
194
|
+
message?: string;
|
|
195
|
+
persona?: string;
|
|
196
|
+
initial_message?: string;
|
|
197
|
+
max_turns?: number;
|
|
198
|
+
};
|
|
199
|
+
expected: {
|
|
200
|
+
success_criteria: string[];
|
|
201
|
+
expected_outcome?: string;
|
|
202
|
+
};
|
|
203
|
+
tags?: string[];
|
|
204
|
+
priority?: 'high' | 'medium' | 'low';
|
|
205
|
+
}
|
|
206
|
+
export interface TestSet {
|
|
207
|
+
_id?: string;
|
|
208
|
+
test_set_id?: string;
|
|
209
|
+
agent_id?: string;
|
|
210
|
+
name: string;
|
|
211
|
+
description?: string;
|
|
212
|
+
version?: number;
|
|
213
|
+
items: TestItem[];
|
|
214
|
+
createdAt?: string;
|
|
215
|
+
updatedAt?: string;
|
|
216
|
+
}
|
|
217
|
+
export interface CreateTestSetInput {
|
|
218
|
+
agent_id?: string;
|
|
219
|
+
name: string;
|
|
220
|
+
description?: string;
|
|
221
|
+
items: TestItem[];
|
|
222
|
+
}
|
|
223
|
+
export interface EvaluationTriggerInput {
|
|
224
|
+
bot_id: string;
|
|
225
|
+
test_set_id: string;
|
|
226
|
+
rubric_id?: string;
|
|
227
|
+
concurrency?: number;
|
|
228
|
+
eval_model?: string;
|
|
229
|
+
keep?: boolean;
|
|
230
|
+
limit?: number;
|
|
231
|
+
component_scope?: string;
|
|
232
|
+
component_ids?: string[];
|
|
233
|
+
conversation_ids?: string[];
|
|
234
|
+
mode?: string;
|
|
235
|
+
}
|
|
236
|
+
export interface EvaluationTriggerResponse {
|
|
237
|
+
run_id: string;
|
|
238
|
+
dataset_id?: string;
|
|
239
|
+
config_id?: string;
|
|
240
|
+
status: string;
|
|
241
|
+
total?: number;
|
|
242
|
+
items_count?: number;
|
|
243
|
+
rules_count?: number;
|
|
244
|
+
}
|
|
245
|
+
export interface EvaluationRun {
|
|
246
|
+
run_id: string;
|
|
247
|
+
dataset_id?: string;
|
|
248
|
+
agent_id?: string;
|
|
249
|
+
status: 'pending' | 'running' | 'completed' | 'failed';
|
|
250
|
+
total?: number;
|
|
251
|
+
completed?: number;
|
|
252
|
+
passed?: number;
|
|
253
|
+
failed?: number;
|
|
254
|
+
concurrency?: number;
|
|
255
|
+
started_at?: string;
|
|
256
|
+
completed_at?: string;
|
|
257
|
+
error?: string;
|
|
258
|
+
criteria_passed?: number;
|
|
259
|
+
criteria_total?: number;
|
|
260
|
+
rubric_rules_passed?: number;
|
|
261
|
+
rubric_rules_total?: number;
|
|
262
|
+
component_scores?: Record<string, {
|
|
263
|
+
score: number;
|
|
264
|
+
total: number;
|
|
265
|
+
passed: number;
|
|
266
|
+
}>;
|
|
267
|
+
rubric_id?: string;
|
|
268
|
+
rubric_version?: number;
|
|
269
|
+
test_set_id?: string;
|
|
270
|
+
test_set_version?: number;
|
|
271
|
+
bot_llm_provider?: string;
|
|
272
|
+
bot_llm_model?: string;
|
|
273
|
+
}
|
|
274
|
+
export interface EvaluationResult {
|
|
275
|
+
[key: string]: unknown;
|
|
276
|
+
}
|
|
277
|
+
export interface BotContext {
|
|
278
|
+
system_prompt?: string;
|
|
279
|
+
tools?: BotFunction[];
|
|
280
|
+
knowledge_bases?: KnowledgeBase[];
|
|
281
|
+
llm_config?: Record<string, unknown>;
|
|
282
|
+
[key: string]: unknown;
|
|
283
|
+
}
|
|
284
|
+
export interface ChatMessage {
|
|
285
|
+
text: string;
|
|
286
|
+
streaming?: boolean;
|
|
287
|
+
streamId?: string;
|
|
288
|
+
isFirstChunk?: boolean;
|
|
289
|
+
streamFinished?: boolean;
|
|
290
|
+
}
|
|
291
|
+
export interface SessionRequest {
|
|
292
|
+
session_id: string | null;
|
|
293
|
+
bot_type: string;
|
|
294
|
+
user_id: string;
|
|
295
|
+
customData: Record<string, unknown>;
|
|
296
|
+
}
|
|
297
|
+
export interface UserMessage {
|
|
298
|
+
message: string;
|
|
299
|
+
messageType: 'text';
|
|
300
|
+
bot_type: string;
|
|
301
|
+
user_id: string;
|
|
302
|
+
session_id: string;
|
|
303
|
+
is_user_message_sent: boolean;
|
|
304
|
+
}
|
|
305
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/sdk/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/sdk/types.ts"],"names":[],"mappings":"AAAA,sCAAsC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@indemn/cli",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "CLI, MCP server, and plugin for managing Indemn AI agents",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/sdk/index.js",
|
|
7
|
+
"bin": {
|
|
8
|
+
"indemn": "./dist/cli/index.js"
|
|
9
|
+
},
|
|
10
|
+
"scripts": {
|
|
11
|
+
"build": "tsc",
|
|
12
|
+
"dev": "tsx --watch src/cli/index.ts",
|
|
13
|
+
"test": "vitest run",
|
|
14
|
+
"test:watch": "vitest"
|
|
15
|
+
},
|
|
16
|
+
"keywords": ["ai-agents", "insurance", "evaluations", "indemn", "mcp"],
|
|
17
|
+
"author": "Indemn <support@indemn.com>",
|
|
18
|
+
"license": "MIT",
|
|
19
|
+
"repository": {
|
|
20
|
+
"type": "git",
|
|
21
|
+
"url": "https://github.com/indemn-ai/indemn-cli"
|
|
22
|
+
},
|
|
23
|
+
"dependencies": {
|
|
24
|
+
"@modelcontextprotocol/sdk": "^1.25.1",
|
|
25
|
+
"chalk": "^5.4.1",
|
|
26
|
+
"cli-table3": "^0.6.5",
|
|
27
|
+
"commander": "^13.1.0",
|
|
28
|
+
"conf": "^13.1.0",
|
|
29
|
+
"firebase": "^11.6.0",
|
|
30
|
+
"ora": "^8.2.0",
|
|
31
|
+
"socket.io-client": "^4.8.1",
|
|
32
|
+
"zod": "^3.24.0"
|
|
33
|
+
},
|
|
34
|
+
"devDependencies": {
|
|
35
|
+
"@types/node": "^22.15.0",
|
|
36
|
+
"tsx": "^4.19.0",
|
|
37
|
+
"typescript": "^5.9.3",
|
|
38
|
+
"vitest": "^3.1.0"
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: agent-setup
|
|
3
|
+
description: End-to-end agent creation workflow using the indemn CLI — create, configure, and test an Indemn AI agent. Use when the user wants to set up a new agent from scratch.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Agent Setup
|
|
7
|
+
|
|
8
|
+
Guide the user through creating a fully configured Indemn AI agent using the `indemn` CLI. This skill coordinates across all agent management commands to go from zero to a working, testable agent.
|
|
9
|
+
|
|
10
|
+
**Prerequisite:** The `indemn` CLI must be installed and authenticated. Run `indemn whoami` to verify.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Workflow
|
|
15
|
+
|
|
16
|
+
### Step 1: Gather Requirements
|
|
17
|
+
|
|
18
|
+
Ask the user:
|
|
19
|
+
1. **Agent name** — What should this agent be called?
|
|
20
|
+
2. **Purpose** — What does the agent do? (insurance quotes, customer service, FAQ, lead gen, etc.)
|
|
21
|
+
3. **Channels** — Where will it be deployed? (WEB, VOICE, or both)
|
|
22
|
+
4. **Key behaviors** — Any specific rules, tone, or constraints?
|
|
23
|
+
|
|
24
|
+
### Step 2: Create the Agent
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
indemn agents create --name "<agent name>"
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Capture the agent ID from the output. Report it to the user.
|
|
31
|
+
|
|
32
|
+
### Step 3: Set the System Prompt
|
|
33
|
+
|
|
34
|
+
Based on the gathered requirements, draft a system prompt. Include:
|
|
35
|
+
- Agent persona (name, role, company)
|
|
36
|
+
- Core instructions (what the agent does, how it handles conversations)
|
|
37
|
+
- Key constraints (what it should NEVER do)
|
|
38
|
+
- Tone guidance
|
|
39
|
+
|
|
40
|
+
Present the draft prompt to the user for review before setting it.
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
indemn config set <agent-id> --prompt "You are..."
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Verify it was set correctly:
|
|
47
|
+
```bash
|
|
48
|
+
indemn config get <agent-id> --field prompt
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Step 4: Create Functions (if needed)
|
|
52
|
+
|
|
53
|
+
If the agent needs to call external APIs or perform actions:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
indemn functions create <agent-id> --type rest_api --name "function_name" --description "What this function does"
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Step 5: Create Knowledge Base (if needed)
|
|
60
|
+
|
|
61
|
+
If the agent needs reference information:
|
|
62
|
+
|
|
63
|
+
1. Create the KB:
|
|
64
|
+
```bash
|
|
65
|
+
indemn kb create --name "<KB Name>" --type qna
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
2. Add QA data sources:
|
|
69
|
+
```bash
|
|
70
|
+
indemn kb data add <kb-id> --question "What is your coverage?" --answer "We offer auto, home, and life insurance."
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
3. Link the KB to the agent:
|
|
74
|
+
```bash
|
|
75
|
+
indemn kb link <agent-id> <kb-id>
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Step 6: Test the Agent
|
|
79
|
+
|
|
80
|
+
Send test messages to verify the agent responds correctly:
|
|
81
|
+
```bash
|
|
82
|
+
indemn chat <agent-id> --message "Hello, I need help with insurance"
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
The `--message` flag sends a single message, prints the agent's response, and exits. Run multiple messages to test different scenarios:
|
|
86
|
+
```bash
|
|
87
|
+
indemn chat <agent-id> --message "What types of coverage do you offer?"
|
|
88
|
+
indemn chat <agent-id> --message "Can you help me file a claim?"
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
If the response looks wrong:
|
|
92
|
+
- Check the prompt: `indemn config get <agent-id> --field prompt`
|
|
93
|
+
- Check agent details: `indemn agents get <agent-id> --json`
|
|
94
|
+
- Adjust the prompt: `indemn config set <agent-id> --prompt "..."`
|
|
95
|
+
- Re-test with `indemn chat <agent-id> --message "..."`
|
|
96
|
+
|
|
97
|
+
### Step 7: Summary
|
|
98
|
+
|
|
99
|
+
Report to the user:
|
|
100
|
+
- Agent ID and name
|
|
101
|
+
- Configured prompt (brief summary)
|
|
102
|
+
- Functions created (if any)
|
|
103
|
+
- Knowledge bases linked (if any)
|
|
104
|
+
- Test chat result
|
|
105
|
+
- Next steps: run evaluations with `/eval-orchestration`, iterate on prompt
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## CLI Commands Used
|
|
110
|
+
|
|
111
|
+
| Command | Step | Purpose |
|
|
112
|
+
|---------|------|---------|
|
|
113
|
+
| `indemn agents create` | 2 | Create the agent |
|
|
114
|
+
| `indemn config set --prompt` | 3 | Configure system prompt |
|
|
115
|
+
| `indemn config get --field prompt` | 3 | Verify prompt |
|
|
116
|
+
| `indemn functions create` | 4 | Add API functions |
|
|
117
|
+
| `indemn kb create` | 5 | Create knowledge base |
|
|
118
|
+
| `indemn kb data add` | 5 | Add QA pairs |
|
|
119
|
+
| `indemn kb link` | 5 | Connect KB to agent |
|
|
120
|
+
| `indemn chat --message` | 6 | Send test message and get response |
|
|
121
|
+
| `indemn agents get` | 6 | Check full agent config |
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## Tips
|
|
126
|
+
|
|
127
|
+
- Start simple — a good prompt is more important than functions or KBs
|
|
128
|
+
- Test after each major change to catch issues early
|
|
129
|
+
- Use `/eval-orchestration` after setup to create formal test coverage
|
|
130
|
+
- Keep the initial prompt focused — you can iterate after seeing test results
|
|
131
|
+
- All list commands support `--json` for machine-readable output
|