@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.
Files changed (126) hide show
  1. package/.claude-plugin/plugin.json +13 -0
  2. package/.mcp.json +9 -0
  3. package/README.md +225 -0
  4. package/dist/cli/agents.d.ts +3 -0
  5. package/dist/cli/agents.d.ts.map +1 -0
  6. package/dist/cli/agents.js +187 -0
  7. package/dist/cli/agents.js.map +1 -0
  8. package/dist/cli/auth.d.ts +3 -0
  9. package/dist/cli/auth.d.ts.map +1 -0
  10. package/dist/cli/auth.js +161 -0
  11. package/dist/cli/auth.js.map +1 -0
  12. package/dist/cli/chat.d.ts +3 -0
  13. package/dist/cli/chat.d.ts.map +1 -0
  14. package/dist/cli/chat.js +142 -0
  15. package/dist/cli/chat.js.map +1 -0
  16. package/dist/cli/config.d.ts +3 -0
  17. package/dist/cli/config.d.ts.map +1 -0
  18. package/dist/cli/config.js +119 -0
  19. package/dist/cli/config.js.map +1 -0
  20. package/dist/cli/eval.d.ts +3 -0
  21. package/dist/cli/eval.d.ts.map +1 -0
  22. package/dist/cli/eval.js +717 -0
  23. package/dist/cli/eval.js.map +1 -0
  24. package/dist/cli/functions.d.ts +3 -0
  25. package/dist/cli/functions.d.ts.map +1 -0
  26. package/dist/cli/functions.js +346 -0
  27. package/dist/cli/functions.js.map +1 -0
  28. package/dist/cli/index.d.ts +3 -0
  29. package/dist/cli/index.d.ts.map +1 -0
  30. package/dist/cli/index.js +64 -0
  31. package/dist/cli/index.js.map +1 -0
  32. package/dist/cli/kb.d.ts +3 -0
  33. package/dist/cli/kb.d.ts.map +1 -0
  34. package/dist/cli/kb.js +377 -0
  35. package/dist/cli/kb.js.map +1 -0
  36. package/dist/cli/utils/output.d.ts +6 -0
  37. package/dist/cli/utils/output.d.ts.map +1 -0
  38. package/dist/cli/utils/output.js +36 -0
  39. package/dist/cli/utils/output.js.map +1 -0
  40. package/dist/mcp/server.d.ts +2 -0
  41. package/dist/mcp/server.d.ts.map +1 -0
  42. package/dist/mcp/server.js +15 -0
  43. package/dist/mcp/server.js.map +1 -0
  44. package/dist/mcp/tools.d.ts +4 -0
  45. package/dist/mcp/tools.d.ts.map +1 -0
  46. package/dist/mcp/tools.js +814 -0
  47. package/dist/mcp/tools.js.map +1 -0
  48. package/dist/sdk/agents.d.ts +13 -0
  49. package/dist/sdk/agents.d.ts.map +1 -0
  50. package/dist/sdk/agents.js +27 -0
  51. package/dist/sdk/agents.js.map +1 -0
  52. package/dist/sdk/auth.d.ts +18 -0
  53. package/dist/sdk/auth.d.ts.map +1 -0
  54. package/dist/sdk/auth.js +98 -0
  55. package/dist/sdk/auth.js.map +1 -0
  56. package/dist/sdk/chat.d.ts +17 -0
  57. package/dist/sdk/chat.d.ts.map +1 -0
  58. package/dist/sdk/chat.js +113 -0
  59. package/dist/sdk/chat.js.map +1 -0
  60. package/dist/sdk/client.d.ts +36 -0
  61. package/dist/sdk/client.d.ts.map +1 -0
  62. package/dist/sdk/client.js +219 -0
  63. package/dist/sdk/client.js.map +1 -0
  64. package/dist/sdk/config.d.ts +11 -0
  65. package/dist/sdk/config.d.ts.map +1 -0
  66. package/dist/sdk/config.js +20 -0
  67. package/dist/sdk/config.js.map +1 -0
  68. package/dist/sdk/eval.d.ts +13 -0
  69. package/dist/sdk/eval.d.ts.map +1 -0
  70. package/dist/sdk/eval.js +36 -0
  71. package/dist/sdk/eval.js.map +1 -0
  72. package/dist/sdk/functions.d.ts +30 -0
  73. package/dist/sdk/functions.d.ts.map +1 -0
  74. package/dist/sdk/functions.js +59 -0
  75. package/dist/sdk/functions.js.map +1 -0
  76. package/dist/sdk/index.d.ts +12 -0
  77. package/dist/sdk/index.d.ts.map +1 -0
  78. package/dist/sdk/index.js +12 -0
  79. package/dist/sdk/index.js.map +1 -0
  80. package/dist/sdk/kb.d.ts +30 -0
  81. package/dist/sdk/kb.d.ts.map +1 -0
  82. package/dist/sdk/kb.js +102 -0
  83. package/dist/sdk/kb.js.map +1 -0
  84. package/dist/sdk/rubrics.d.ts +14 -0
  85. package/dist/sdk/rubrics.d.ts.map +1 -0
  86. package/dist/sdk/rubrics.js +29 -0
  87. package/dist/sdk/rubrics.js.map +1 -0
  88. package/dist/sdk/test-sets.d.ts +14 -0
  89. package/dist/sdk/test-sets.d.ts.map +1 -0
  90. package/dist/sdk/test-sets.js +29 -0
  91. package/dist/sdk/test-sets.js.map +1 -0
  92. package/dist/sdk/types.d.ts +305 -0
  93. package/dist/sdk/types.d.ts.map +1 -0
  94. package/dist/sdk/types.js +3 -0
  95. package/dist/sdk/types.js.map +1 -0
  96. package/package.json +40 -0
  97. package/skills/agent-setup/SKILL.md +131 -0
  98. package/skills/eval-orchestration/SKILL.md +257 -0
  99. package/skills/rubric-creation/SKILL.md +163 -0
  100. package/skills/test-set-creation/SKILL.md +250 -0
  101. package/src/cli/agents.ts +206 -0
  102. package/src/cli/auth.ts +170 -0
  103. package/src/cli/chat.ts +161 -0
  104. package/src/cli/config.ts +131 -0
  105. package/src/cli/eval.ts +750 -0
  106. package/src/cli/functions.ts +330 -0
  107. package/src/cli/index.ts +68 -0
  108. package/src/cli/kb.ts +412 -0
  109. package/src/cli/utils/output.ts +42 -0
  110. package/src/mcp/server.ts +17 -0
  111. package/src/mcp/tools.ts +971 -0
  112. package/src/sdk/agents.ts +47 -0
  113. package/src/sdk/auth.ts +132 -0
  114. package/src/sdk/chat.ts +133 -0
  115. package/src/sdk/client.ts +238 -0
  116. package/src/sdk/config.ts +28 -0
  117. package/src/sdk/eval.ts +57 -0
  118. package/src/sdk/functions.ts +103 -0
  119. package/src/sdk/index.ts +11 -0
  120. package/src/sdk/kb.ts +183 -0
  121. package/src/sdk/rubrics.ts +35 -0
  122. package/src/sdk/test-sets.ts +35 -0
  123. package/src/sdk/types.ts +347 -0
  124. package/test/fixtures/test-rubric.json +66 -0
  125. package/test/fixtures/test-testset.json +55 -0
  126. package/tsconfig.json +19 -0
@@ -0,0 +1,219 @@
1
+ import Conf from 'conf';
2
+ const DEFAULT_HOSTS = {
3
+ dev: {
4
+ copilot: 'https://devcopilot.indemn.ai/api',
5
+ evaluations: 'https://devevaluations.indemn.ai',
6
+ middleware: 'https://devproxy.indemn.ai',
7
+ },
8
+ production: {
9
+ copilot: 'https://copilot.indemn.ai/api',
10
+ evaluations: 'https://evaluations.indemn.ai',
11
+ middleware: 'https://proxy.indemn.ai',
12
+ },
13
+ };
14
+ export class IndemnClient {
15
+ apiKey;
16
+ orgId;
17
+ environment;
18
+ hosts;
19
+ constructor(opts) {
20
+ // Priority: explicit opts > env vars > config file
21
+ const config = IndemnClient.loadConfig();
22
+ this.apiKey = opts?.apiKey || process.env.INDEMN_API_KEY || config?.api_key || '';
23
+ this.orgId = opts?.orgId || process.env.INDEMN_ORG_ID || config?.org_id || '';
24
+ this.environment = opts?.environment || process.env.INDEMN_ENV || config?.environment || 'dev';
25
+ const defaultHosts = DEFAULT_HOSTS[this.environment];
26
+ const configHosts = config?.hosts?.[this.environment];
27
+ this.hosts = {
28
+ copilot: process.env.INDEMN_COPILOT_URL || configHosts?.copilot || defaultHosts.copilot,
29
+ evaluations: process.env.INDEMN_EVALS_URL || configHosts?.evaluations || defaultHosts.evaluations,
30
+ middleware: process.env.INDEMN_MIDDLEWARE_URL || configHosts?.middleware || defaultHosts.middleware,
31
+ };
32
+ }
33
+ static getConfigStore() {
34
+ return new Conf({
35
+ projectName: 'indemn',
36
+ configName: 'config',
37
+ cwd: `${process.env.HOME}/.indemn`,
38
+ });
39
+ }
40
+ static loadConfig() {
41
+ try {
42
+ const store = IndemnClient.getConfigStore();
43
+ const apiKey = store.get('api_key');
44
+ if (!apiKey)
45
+ return null;
46
+ return {
47
+ api_key: apiKey,
48
+ org_id: store.get('org_id', ''),
49
+ user_id: store.get('user_id', ''),
50
+ environment: store.get('environment', 'dev'),
51
+ hosts: store.get('hosts', DEFAULT_HOSTS),
52
+ };
53
+ }
54
+ catch {
55
+ return null;
56
+ }
57
+ }
58
+ static saveConfig(config) {
59
+ const store = IndemnClient.getConfigStore();
60
+ for (const [key, value] of Object.entries(config)) {
61
+ store.set(key, value);
62
+ }
63
+ }
64
+ static clearConfig() {
65
+ const store = IndemnClient.getConfigStore();
66
+ store.clear();
67
+ }
68
+ getEnvironment() { return this.environment; }
69
+ getOrgId() { return this.orgId; }
70
+ getApiKey() { return this.apiKey; }
71
+ getHosts() { return this.hosts; }
72
+ ensureAuth() {
73
+ if (!this.apiKey) {
74
+ throw new Error('Not authenticated. Run `indemn login` first.');
75
+ }
76
+ }
77
+ buildCopilotUrl(path) {
78
+ // Inject org_id into path templates
79
+ const resolvedPath = path.replace(':org_id', this.orgId);
80
+ return `${this.hosts.copilot}${resolvedPath}`;
81
+ }
82
+ buildEvalsUrl(path) {
83
+ return `${this.hosts.evaluations}${path}`;
84
+ }
85
+ // Copilot Server requests (with /api/ prefix and org_id injection)
86
+ async copilotGet(path, query) {
87
+ this.ensureAuth();
88
+ const url = new URL(this.buildCopilotUrl(path));
89
+ if (query) {
90
+ for (const [k, v] of Object.entries(query)) {
91
+ if (v !== undefined && v !== null)
92
+ url.searchParams.set(k, v);
93
+ }
94
+ }
95
+ const res = await fetch(url.toString(), {
96
+ headers: {
97
+ 'Authorization': `Bearer ${this.apiKey}`,
98
+ 'Content-Type': 'application/json',
99
+ },
100
+ });
101
+ return this.handleCopilotResponse(res);
102
+ }
103
+ async copilotPost(path, body) {
104
+ this.ensureAuth();
105
+ const res = await fetch(this.buildCopilotUrl(path), {
106
+ method: 'POST',
107
+ headers: {
108
+ 'Authorization': `Bearer ${this.apiKey}`,
109
+ 'Content-Type': 'application/json',
110
+ },
111
+ body: body ? JSON.stringify(body) : undefined,
112
+ });
113
+ return this.handleCopilotResponse(res);
114
+ }
115
+ async copilotPut(path, body) {
116
+ this.ensureAuth();
117
+ const res = await fetch(this.buildCopilotUrl(path), {
118
+ method: 'PUT',
119
+ headers: {
120
+ 'Authorization': `Bearer ${this.apiKey}`,
121
+ 'Content-Type': 'application/json',
122
+ },
123
+ body: body ? JSON.stringify(body) : undefined,
124
+ });
125
+ return this.handleCopilotResponse(res);
126
+ }
127
+ async copilotDelete(path) {
128
+ this.ensureAuth();
129
+ const res = await fetch(this.buildCopilotUrl(path), {
130
+ method: 'DELETE',
131
+ headers: {
132
+ 'Authorization': `Bearer ${this.apiKey}`,
133
+ 'Content-Type': 'application/json',
134
+ },
135
+ });
136
+ return this.handleCopilotResponse(res);
137
+ }
138
+ // Evaluations Service requests (no /api/ prefix, no org_id, no auth in Phase 1)
139
+ async evalsGet(path, query) {
140
+ const url = new URL(this.buildEvalsUrl(path));
141
+ if (query) {
142
+ for (const [k, v] of Object.entries(query)) {
143
+ if (v !== undefined && v !== null)
144
+ url.searchParams.set(k, v);
145
+ }
146
+ }
147
+ const res = await fetch(url.toString(), {
148
+ headers: { 'Content-Type': 'application/json' },
149
+ });
150
+ return this.handleEvalsResponse(res);
151
+ }
152
+ async evalsPost(path, body) {
153
+ const res = await fetch(this.buildEvalsUrl(path), {
154
+ method: 'POST',
155
+ headers: { 'Content-Type': 'application/json' },
156
+ body: body ? JSON.stringify(body) : undefined,
157
+ });
158
+ return this.handleEvalsResponse(res);
159
+ }
160
+ async evalsPut(path, body) {
161
+ const res = await fetch(this.buildEvalsUrl(path), {
162
+ method: 'PUT',
163
+ headers: { 'Content-Type': 'application/json' },
164
+ body: body ? JSON.stringify(body) : undefined,
165
+ });
166
+ return this.handleEvalsResponse(res);
167
+ }
168
+ async evalsDelete(path) {
169
+ const res = await fetch(this.buildEvalsUrl(path), {
170
+ method: 'DELETE',
171
+ headers: { 'Content-Type': 'application/json' },
172
+ });
173
+ return this.handleEvalsResponse(res);
174
+ }
175
+ // Unauthenticated Copilot Server requests (for login flow)
176
+ async copilotPostUnauth(path, body, headers) {
177
+ const res = await fetch(`${this.hosts.copilot}${path}`, {
178
+ method: 'POST',
179
+ headers: {
180
+ 'Content-Type': 'application/json',
181
+ ...headers,
182
+ },
183
+ body: body ? JSON.stringify(body) : undefined,
184
+ });
185
+ return this.handleCopilotResponse(res);
186
+ }
187
+ async handleCopilotResponse(res) {
188
+ if (res.status === 401) {
189
+ throw new Error('Authentication failed. Run `indemn login` to re-authenticate.');
190
+ }
191
+ if (res.status === 403) {
192
+ throw new Error('Access denied. You may not have permission for this operation.');
193
+ }
194
+ if (res.status === 404) {
195
+ throw new Error('Resource not found.');
196
+ }
197
+ if (!res.ok) {
198
+ const text = await res.text();
199
+ throw new Error(`API error (${res.status}): ${text}`);
200
+ }
201
+ const json = await res.json();
202
+ // Copilot Server wraps responses in { success, data }
203
+ if (json.success !== undefined) {
204
+ if (!json.success) {
205
+ throw new Error(json.msg || 'API request failed');
206
+ }
207
+ return (json.data !== undefined ? json.data : json);
208
+ }
209
+ return json;
210
+ }
211
+ async handleEvalsResponse(res) {
212
+ if (!res.ok) {
213
+ const text = await res.text();
214
+ throw new Error(`Evaluations API error (${res.status}): ${text}`);
215
+ }
216
+ return res.json();
217
+ }
218
+ }
219
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/sdk/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { IndemnClient } from './client.js';
2
+ import type { BotConfiguration, SetConfigInput } from './types.js';
3
+ export declare class ConfigSDK {
4
+ private client;
5
+ constructor(client: IndemnClient);
6
+ getConfig(agentId: string): Promise<BotConfiguration>;
7
+ setConfig(agentId: string, data: SetConfigInput): Promise<BotConfiguration>;
8
+ getPrompt(agentId: string): Promise<string | undefined>;
9
+ setPrompt(agentId: string, prompt: string): Promise<BotConfiguration>;
10
+ }
11
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/sdk/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEnE,qBAAa,SAAS;IACR,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,YAAY;IAElC,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAMrD,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAO3E,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAKvD,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAG5E"}
@@ -0,0 +1,20 @@
1
+ export class ConfigSDK {
2
+ client;
3
+ constructor(client) {
4
+ this.client = client;
5
+ }
6
+ async getConfig(agentId) {
7
+ return this.client.copilotGet(`/organization/:org_id/ai-studio/bots/${agentId}/configurations`);
8
+ }
9
+ async setConfig(agentId, data) {
10
+ return this.client.copilotPut(`/organization/:org_id/ai-studio/bots/${agentId}/configurations`, data);
11
+ }
12
+ async getPrompt(agentId) {
13
+ const config = await this.getConfig(agentId);
14
+ return config.ai_config?.system_prompt;
15
+ }
16
+ async setPrompt(agentId, prompt) {
17
+ return this.setConfig(agentId, { system_prompt: prompt });
18
+ }
19
+ }
20
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/sdk/config.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,SAAS;IACA;IAApB,YAAoB,MAAoB;QAApB,WAAM,GAAN,MAAM,CAAc;IAAG,CAAC;IAE5C,KAAK,CAAC,SAAS,CAAC,OAAe;QAC7B,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAC3B,wCAAwC,OAAO,iBAAiB,CACjE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAe,EAAE,IAAoB;QACnD,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAC3B,wCAAwC,OAAO,iBAAiB,EAChE,IAAI,CACL,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAe;QAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC7C,OAAO,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAe,EAAE,MAAc;QAC7C,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5D,CAAC;CACF"}
@@ -0,0 +1,13 @@
1
+ import type { IndemnClient } from './client.js';
2
+ import type { EvaluationTriggerInput, EvaluationTriggerResponse, EvaluationRun, EvaluationResult, BotContext } from './types.js';
3
+ export declare class EvalSDK {
4
+ private client;
5
+ constructor(client: IndemnClient);
6
+ triggerEvaluation(input: EvaluationTriggerInput): Promise<EvaluationTriggerResponse>;
7
+ listRuns(agentId?: string): Promise<EvaluationRun[]>;
8
+ getRunStatus(runId: string): Promise<EvaluationRun>;
9
+ getRunResults(runId: string): Promise<EvaluationResult[]>;
10
+ getBotContext(botId: string): Promise<BotContext>;
11
+ pollRunUntilComplete(runId: string, intervalMs?: number, timeoutMs?: number): Promise<EvaluationRun>;
12
+ }
13
+ //# sourceMappingURL=eval.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eval.d.ts","sourceRoot":"","sources":["../../src/sdk/eval.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EACV,sBAAsB,EACtB,yBAAyB,EACzB,aAAa,EACb,gBAAgB,EAChB,UAAU,EACX,MAAM,YAAY,CAAC;AAEpB,qBAAa,OAAO;IACN,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,YAAY;IAElC,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAIpF,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAKpD,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAInD,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAIzD,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAIjD,oBAAoB,CACxB,KAAK,EAAE,MAAM,EACb,UAAU,SAAO,EACjB,SAAS,SAAS,GACjB,OAAO,CAAC,aAAa,CAAC;CAmB1B"}
@@ -0,0 +1,36 @@
1
+ export class EvalSDK {
2
+ client;
3
+ constructor(client) {
4
+ this.client = client;
5
+ }
6
+ async triggerEvaluation(input) {
7
+ return this.client.evalsPost('/api/v1/evaluations', input);
8
+ }
9
+ async listRuns(agentId) {
10
+ const query = agentId ? { agent_id: agentId } : undefined;
11
+ return this.client.evalsGet('/api/v1/runs', query);
12
+ }
13
+ async getRunStatus(runId) {
14
+ return this.client.evalsGet(`/api/v1/runs/${runId}`);
15
+ }
16
+ async getRunResults(runId) {
17
+ return this.client.evalsGet(`/api/v1/runs/${runId}/results`);
18
+ }
19
+ async getBotContext(botId) {
20
+ return this.client.evalsGet(`/api/v1/bots/${botId}/context`);
21
+ }
22
+ async pollRunUntilComplete(runId, intervalMs = 5000, timeoutMs = 300000) {
23
+ const startTime = Date.now();
24
+ while (true) {
25
+ const run = await this.getRunStatus(runId);
26
+ if (run.status === 'completed' || run.status === 'failed') {
27
+ return run;
28
+ }
29
+ if (Date.now() - startTime >= timeoutMs) {
30
+ throw new Error(`Evaluation run ${runId} did not complete within ${timeoutMs / 1000}s (last status: ${run.status})`);
31
+ }
32
+ await new Promise((resolve) => setTimeout(resolve, intervalMs));
33
+ }
34
+ }
35
+ }
36
+ //# sourceMappingURL=eval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eval.js","sourceRoot":"","sources":["../../src/sdk/eval.ts"],"names":[],"mappings":"AASA,MAAM,OAAO,OAAO;IACE;IAApB,YAAoB,MAAoB;QAApB,WAAM,GAAN,MAAM,CAAc;IAAG,CAAC;IAE5C,KAAK,CAAC,iBAAiB,CAAC,KAA6B;QACnD,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAA4B,qBAAqB,EAAE,KAAK,CAAC,CAAC;IACxF,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAgB;QAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1D,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAkB,cAAc,EAAE,KAAK,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAa;QAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAgB,gBAAgB,KAAK,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAAa;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAqB,gBAAgB,KAAK,UAAU,CAAC,CAAC;IACnF,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAAa;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAa,gBAAgB,KAAK,UAAU,CAAC,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,KAAa,EACb,UAAU,GAAG,IAAI,EACjB,SAAS,GAAG,MAAM;QAElB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAE3C,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC1D,OAAO,GAAG,CAAC;YACb,CAAC;YAED,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,IAAI,SAAS,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CACb,kBAAkB,KAAK,4BAA4B,SAAS,GAAG,IAAI,mBAAmB,GAAG,CAAC,MAAM,GAAG,CACpG,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,30 @@
1
+ import type { IndemnClient } from './client.js';
2
+ import type { BotFunction, CreateFunctionInput, UpdateFunctionInput, FunctionParameter } from './types.js';
3
+ export declare class FunctionsSDK {
4
+ private client;
5
+ constructor(client: IndemnClient);
6
+ listFunctions(agentId: string): Promise<BotFunction[]>;
7
+ createFunction(agentId: string, input: CreateFunctionInput): Promise<BotFunction>;
8
+ updateFunction(agentId: string, funcId: string, input: UpdateFunctionInput): Promise<BotFunction>;
9
+ deleteFunction(agentId: string, funcId: string): Promise<void>;
10
+ testFunction(agentId: string, funcId: string, params?: Record<string, unknown>): Promise<unknown>;
11
+ exportFunctions(agentId: string): Promise<unknown>;
12
+ importFunctions(agentId: string, url: string): Promise<unknown>;
13
+ listParameters(agentId: string, funcId: string): Promise<FunctionParameter[]>;
14
+ addParameter(agentId: string, funcId: string, param: {
15
+ name: string;
16
+ type: string;
17
+ description?: string;
18
+ required?: boolean;
19
+ }): Promise<FunctionParameter>;
20
+ updateParameter(agentId: string, funcId: string, paramId: string, param: {
21
+ name?: string;
22
+ type?: string;
23
+ description?: string;
24
+ required?: boolean;
25
+ }): Promise<FunctionParameter>;
26
+ deleteParameter(agentId: string, funcId: string, paramId: string): Promise<void>;
27
+ listMasterFunctions(): Promise<unknown[]>;
28
+ listLLMModels(): Promise<unknown[]>;
29
+ }
30
+ //# sourceMappingURL=functions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../src/sdk/functions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE3G,qBAAa,YAAY;IACX,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,YAAY;IAElC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAMtD,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAAC;IAOjF,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAAC;IAOjG,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM9D,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAOjG,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMlD,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAO/D,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAM7E,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAc1J,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAahL,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMhF,mBAAmB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAMzC,aAAa,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;CAK1C"}
@@ -0,0 +1,59 @@
1
+ export class FunctionsSDK {
2
+ client;
3
+ constructor(client) {
4
+ this.client = client;
5
+ }
6
+ async listFunctions(agentId) {
7
+ return this.client.copilotGet(`/organization/:org_id/ai-studio/bots/${agentId}/functions`);
8
+ }
9
+ async createFunction(agentId, input) {
10
+ return this.client.copilotPost(`/organization/:org_id/ai-studio/bots/${agentId}/functions`, input);
11
+ }
12
+ async updateFunction(agentId, funcId, input) {
13
+ return this.client.copilotPut(`/organization/:org_id/ai-studio/bots/${agentId}/functions/${funcId}`, input);
14
+ }
15
+ async deleteFunction(agentId, funcId) {
16
+ await this.client.copilotDelete(`/organization/:org_id/ai-studio/bots/${agentId}/functions/${funcId}`);
17
+ }
18
+ async testFunction(agentId, funcId, params) {
19
+ return this.client.copilotPost(`/organization/:org_id/ai-studio/bots/${agentId}/functions/${funcId}/test-rest-api`, params);
20
+ }
21
+ async exportFunctions(agentId) {
22
+ return this.client.copilotPost(`/organization/:org_id/ai-studio/bots/${agentId}/functions/export`);
23
+ }
24
+ async importFunctions(agentId, url) {
25
+ return this.client.copilotPost(`/organization/:org_id/ai-studio/bots/${agentId}/functions/import`, { url });
26
+ }
27
+ async listParameters(agentId, funcId) {
28
+ return this.client.copilotGet(`/organization/:org_id/ai-studio/bots/${agentId}/functions/${funcId}/parameters`);
29
+ }
30
+ async addParameter(agentId, funcId, param) {
31
+ // Server expects an array of parameters
32
+ const payload = [{
33
+ name: param.name,
34
+ type: param.type,
35
+ description: param.description,
36
+ is_required: param.required ?? false,
37
+ }];
38
+ return this.client.copilotPost(`/organization/:org_id/ai-studio/bots/${agentId}/functions/${funcId}/parameters`, payload);
39
+ }
40
+ async updateParameter(agentId, funcId, paramId, param) {
41
+ // Server uses POST upsert (no PUT /:id endpoint exists). Include the param id for upsert matching.
42
+ const payload = [{
43
+ id: paramId,
44
+ ...param,
45
+ is_required: param.required ?? false,
46
+ }];
47
+ return this.client.copilotPost(`/organization/:org_id/ai-studio/bots/${agentId}/functions/${funcId}/parameters`, payload);
48
+ }
49
+ async deleteParameter(agentId, funcId, paramId) {
50
+ await this.client.copilotDelete(`/organization/:org_id/ai-studio/bots/${agentId}/functions/${funcId}/parameters/${paramId}`);
51
+ }
52
+ async listMasterFunctions() {
53
+ return this.client.copilotGet('/organization/:org_id/ai-studio/master-functions');
54
+ }
55
+ async listLLMModels() {
56
+ return this.client.copilotGet('/organization/:org_id/ai-studio/llm-models');
57
+ }
58
+ }
59
+ //# sourceMappingURL=functions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/sdk/functions.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,YAAY;IACH;IAApB,YAAoB,MAAoB;QAApB,WAAM,GAAN,MAAM,CAAc;IAAG,CAAC;IAE5C,KAAK,CAAC,aAAa,CAAC,OAAe;QACjC,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAC3B,wCAAwC,OAAO,YAAY,CAC5D,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAe,EAAE,KAA0B;QAC9D,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAC5B,wCAAwC,OAAO,YAAY,EAC3D,KAAK,CACN,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAe,EAAE,MAAc,EAAE,KAA0B;QAC9E,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAC3B,wCAAwC,OAAO,cAAc,MAAM,EAAE,EACrE,KAAK,CACN,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAe,EAAE,MAAc;QAClD,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAC7B,wCAAwC,OAAO,cAAc,MAAM,EAAE,CACtE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAAe,EAAE,MAAc,EAAE,MAAgC;QAClF,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAC5B,wCAAwC,OAAO,cAAc,MAAM,gBAAgB,EACnF,MAAM,CACP,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAAe;QACnC,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAC5B,wCAAwC,OAAO,mBAAmB,CACnE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAAe,EAAE,GAAW;QAChD,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAC5B,wCAAwC,OAAO,mBAAmB,EAClE,EAAE,GAAG,EAAE,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAe,EAAE,MAAc;QAClD,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAC3B,wCAAwC,OAAO,cAAc,MAAM,aAAa,CACjF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAAe,EAAE,MAAc,EAAE,KAA+E;QACjI,wCAAwC;QACxC,MAAM,OAAO,GAAG,CAAC;gBACf,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,WAAW,EAAE,KAAK,CAAC,QAAQ,IAAI,KAAK;aACrC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAC5B,wCAAwC,OAAO,cAAc,MAAM,aAAa,EAChF,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAAe,EAAE,MAAc,EAAE,OAAe,EAAE,KAAiF;QACvJ,mGAAmG;QACnG,MAAM,OAAO,GAAG,CAAC;gBACf,EAAE,EAAE,OAAO;gBACX,GAAG,KAAK;gBACR,WAAW,EAAE,KAAK,CAAC,QAAQ,IAAI,KAAK;aACrC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAC5B,wCAAwC,OAAO,cAAc,MAAM,aAAa,EAChF,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAAe,EAAE,MAAc,EAAE,OAAe;QACpE,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAC7B,wCAAwC,OAAO,cAAc,MAAM,eAAe,OAAO,EAAE,CAC5F,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAC3B,kDAAkD,CACnD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAC3B,4CAA4C,CAC7C,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,12 @@
1
+ export { IndemnClient } from './client.js';
2
+ export { login, logout, whoami } from './auth.js';
3
+ export { AgentsSDK } from './agents.js';
4
+ export { ConfigSDK } from './config.js';
5
+ export { FunctionsSDK } from './functions.js';
6
+ export { KBSDK } from './kb.js';
7
+ export { RubricsSDK } from './rubrics.js';
8
+ export { TestSetsSDK } from './test-sets.js';
9
+ export { EvalSDK } from './eval.js';
10
+ export { ChatSession } from './chat.js';
11
+ export * from './types.js';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sdk/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,cAAc,YAAY,CAAC"}
@@ -0,0 +1,12 @@
1
+ export { IndemnClient } from './client.js';
2
+ export { login, logout, whoami } from './auth.js';
3
+ export { AgentsSDK } from './agents.js';
4
+ export { ConfigSDK } from './config.js';
5
+ export { FunctionsSDK } from './functions.js';
6
+ export { KBSDK } from './kb.js';
7
+ export { RubricsSDK } from './rubrics.js';
8
+ export { TestSetsSDK } from './test-sets.js';
9
+ export { EvalSDK } from './eval.js';
10
+ export { ChatSession } from './chat.js';
11
+ export * from './types.js';
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sdk/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,cAAc,YAAY,CAAC"}
@@ -0,0 +1,30 @@
1
+ import type { IndemnClient } from './client.js';
2
+ import type { KnowledgeBase, CreateKBInput, UpdateKBInput, DataSource, AddDataSourceInput } from './types.js';
3
+ export declare class KBSDK {
4
+ private client;
5
+ constructor(client: IndemnClient);
6
+ listKBs(): Promise<KnowledgeBase[]>;
7
+ getKB(id: string): Promise<KnowledgeBase>;
8
+ createKB(input: CreateKBInput): Promise<KnowledgeBase>;
9
+ updateKB(id: string, input: UpdateKBInput): Promise<KnowledgeBase>;
10
+ deleteKB(id: string): Promise<void>;
11
+ listDataSources(kbId: string, query?: {
12
+ page?: string;
13
+ limit?: string;
14
+ }): Promise<{
15
+ dataSources: DataSource[];
16
+ total: number;
17
+ page: number;
18
+ pages: number;
19
+ }>;
20
+ addDataSource(kbId: string, input: AddDataSourceInput): Promise<DataSource>;
21
+ scrapeUrl(kbId: string, url: string, crawlMode?: string): Promise<unknown>;
22
+ uploadFile(kbId: string, filePath: string): Promise<unknown>;
23
+ updateDataSource(kbId: string, sourceId: string, input: Partial<AddDataSourceInput>): Promise<DataSource>;
24
+ deleteDataSource(kbId: string, sourceId: string): Promise<void>;
25
+ linkKB(agentId: string, kbIds: string[]): Promise<unknown>;
26
+ unlinkKB(agentId: string, kbId: string): Promise<void>;
27
+ exportKB(kbId: string, format: string): Promise<unknown>;
28
+ importKB(kbId: string, data: unknown): Promise<unknown>;
29
+ }
30
+ //# sourceMappingURL=kb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kb.d.ts","sourceRoot":"","sources":["../../src/sdk/kb.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,aAAa,EACb,UAAU,EACV,kBAAkB,EAEnB,MAAM,YAAY,CAAC;AAEpB,qBAAa,KAAK;IACJ,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,YAAY;IAElC,OAAO,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAMnC,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAQzC,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAOtD,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAOlE,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMnC,eAAe,CACnB,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GACxC,OAAO,CAAC;QAAE,WAAW,EAAE,UAAU,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAO/E,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC;IAmB3E,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,GAAE,MAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IAUlF,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAsC5D,gBAAgB,CACpB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,CAAC,kBAAkB,CAAC,GACjC,OAAO,CAAC,UAAU,CAAC;IAOhB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM/D,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAO1D,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBtD,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAOxD,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;CAM9D"}
package/dist/sdk/kb.js ADDED
@@ -0,0 +1,102 @@
1
+ export class KBSDK {
2
+ client;
3
+ constructor(client) {
4
+ this.client = client;
5
+ }
6
+ async listKBs() {
7
+ return this.client.copilotGet('/organization/:org_id/knowledge-bases');
8
+ }
9
+ async getKB(id) {
10
+ const result = await this.client.copilotGet(`/organization/:org_id/knowledge-bases/${id}`);
11
+ // Server may return an array; extract the first element
12
+ return Array.isArray(result) ? result[0] : result;
13
+ }
14
+ async createKB(input) {
15
+ return this.client.copilotPost('/organization/:org_id/knowledge-bases', input);
16
+ }
17
+ async updateKB(id, input) {
18
+ return this.client.copilotPut(`/organization/:org_id/knowledge-bases/${id}`, input);
19
+ }
20
+ async deleteKB(id) {
21
+ await this.client.copilotDelete(`/organization/:org_id/knowledge-bases/${id}`);
22
+ }
23
+ async listDataSources(kbId, query) {
24
+ return this.client.copilotGet(`/organization/:org_id/knowledge-bases/${kbId}/data-source`, query);
25
+ }
26
+ async addDataSource(kbId, input) {
27
+ if (input.source_url) {
28
+ // URL type — must use /import endpoint (data-source POST only supports text)
29
+ return this.client.copilotPost(`/organization/:org_id/knowledge-bases/${kbId}/import`, {
30
+ type: 'url',
31
+ sources: [{ url: input.source_url, crawl_mode: 'full' }],
32
+ });
33
+ }
34
+ // Text/QnA type
35
+ return this.client.copilotPost(`/organization/:org_id/knowledge-bases/${kbId}/data-source`, { type: 'text', payload: { question: input.question, answer: input.answer, isManual: true } });
36
+ }
37
+ async scrapeUrl(kbId, url, crawlMode = 'full') {
38
+ return this.client.copilotPost(`/organization/:org_id/knowledge-bases/${kbId}/import`, {
39
+ type: 'url',
40
+ sources: [{ url, crawl_mode: crawlMode }],
41
+ });
42
+ }
43
+ async uploadFile(kbId, filePath) {
44
+ const fs = await import('fs');
45
+ const path = await import('path');
46
+ if (!fs.existsSync(filePath)) {
47
+ throw new Error(`File not found: ${filePath}`);
48
+ }
49
+ const fileBuffer = fs.readFileSync(filePath);
50
+ const fileName = path.basename(filePath);
51
+ const blob = new Blob([fileBuffer]);
52
+ const formData = new FormData();
53
+ formData.append('file', blob, fileName);
54
+ // Need a raw fetch since copilotPost sets Content-Type to JSON
55
+ const hosts = this.client.getHosts();
56
+ const orgId = this.client.getOrgId();
57
+ const apiKey = this.client.getApiKey();
58
+ const url_str = `${hosts.copilot}/organization/${orgId}/knowledge-bases/${kbId}/upload-urls`;
59
+ const res = await fetch(url_str, {
60
+ method: 'POST',
61
+ headers: {
62
+ 'Authorization': `Bearer ${apiKey}`,
63
+ },
64
+ body: formData,
65
+ });
66
+ if (!res.ok) {
67
+ const text = await res.text();
68
+ throw new Error(`Upload failed (${res.status}): ${text}`);
69
+ }
70
+ const json = await res.json();
71
+ return json.data || json;
72
+ }
73
+ async updateDataSource(kbId, sourceId, input) {
74
+ return this.client.copilotPut(`/organization/:org_id/knowledge-bases/${kbId}/data-source/${sourceId}`, { payload: { question: input.question, answer: input.answer, isManual: true } });
75
+ }
76
+ async deleteDataSource(kbId, sourceId) {
77
+ await this.client.copilotDelete(`/organization/:org_id/knowledge-bases/${kbId}/data-source/${sourceId}`);
78
+ }
79
+ async linkKB(agentId, kbIds) {
80
+ return this.client.copilotPost(`/organization/:org_id/ai-studio/bots/${agentId}/mappings`, { id_kb: kbIds });
81
+ }
82
+ async unlinkKB(agentId, kbId) {
83
+ // Mappings response: [{ id: "kb_id", connectedBots: [{ id: "bot_id", id_mapping: "mapping_id" }] }]
84
+ const mappings = await this.client.copilotGet(`/organization/:org_id/ai-studio/bots/${agentId}/mappings`);
85
+ const kbEntry = mappings.find((m) => m.id === kbId);
86
+ if (!kbEntry) {
87
+ throw new Error(`No mapping found for KB ${kbId} on agent ${agentId}`);
88
+ }
89
+ const botMapping = kbEntry.connectedBots.find((b) => b.id === agentId);
90
+ if (!botMapping) {
91
+ throw new Error(`No mapping found for KB ${kbId} on agent ${agentId}`);
92
+ }
93
+ await this.client.copilotDelete(`/organization/:org_id/ai-studio/bots/${agentId}/mappings/${botMapping.id_mapping}`);
94
+ }
95
+ async exportKB(kbId, format) {
96
+ return this.client.copilotPost(`/organization/:org_id/knowledge-bases/${kbId}/export`, { type: format });
97
+ }
98
+ async importKB(kbId, data) {
99
+ return this.client.copilotPost(`/organization/:org_id/knowledge-bases/${kbId}/import`, data);
100
+ }
101
+ }
102
+ //# sourceMappingURL=kb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kb.js","sourceRoot":"","sources":["../../src/sdk/kb.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { IndemnClient } from './client.js';
2
+ import type { Rubric, CreateRubricInput } from './types.js';
3
+ export declare class RubricsSDK {
4
+ private client;
5
+ constructor(client: IndemnClient);
6
+ listRubrics(agentId?: string): Promise<Rubric[]>;
7
+ getRubric(id: string): Promise<Rubric>;
8
+ createRubric(input: CreateRubricInput): Promise<Rubric>;
9
+ updateRubric(id: string, input: Partial<CreateRubricInput>): Promise<Rubric>;
10
+ deleteRubric(id: string): Promise<void>;
11
+ listVersions(id: string): Promise<Rubric[]>;
12
+ getVersion(id: string, version: number): Promise<Rubric>;
13
+ }
14
+ //# sourceMappingURL=rubrics.d.ts.map