@getsupervisor/agents-studio-sdk 1.1.0 → 1.2.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/dist/index.js CHANGED
@@ -1,3 +1,45 @@
1
+ // src/entities/agent.ts
2
+ var bindAgentInstructions = (api, agentId) => ({
3
+ list(opts) {
4
+ return api.list(agentId, opts);
5
+ },
6
+ create(payload) {
7
+ return api.create(agentId, payload);
8
+ }
9
+ });
10
+ var bindAgentKnowledge = (api, agentId) => ({
11
+ upload(payload) {
12
+ return api.upload(agentId, payload);
13
+ },
14
+ listBases() {
15
+ return api.listBases(agentId);
16
+ },
17
+ listUploads() {
18
+ return api.listUploads(agentId);
19
+ }
20
+ });
21
+ var bindAgentPhones = (api, agentId) => ({
22
+ connect(payload) {
23
+ return api.connect(agentId, payload);
24
+ },
25
+ disconnect(phoneId) {
26
+ return api.disconnect(agentId, phoneId);
27
+ }
28
+ });
29
+ var createAgentEntity = (dto, options) => {
30
+ const { instructionsApi, knowledgeApi, phonesApi, reload } = options;
31
+ const entity = {
32
+ ...dto,
33
+ instructions: bindAgentInstructions(instructionsApi, dto.agentId),
34
+ knowledge: bindAgentKnowledge(knowledgeApi, dto.agentId),
35
+ phones: bindAgentPhones(phonesApi, dto.agentId),
36
+ async refresh() {
37
+ return reload(dto.agentId);
38
+ }
39
+ };
40
+ return Object.freeze(entity);
41
+ };
42
+
1
43
  // src/errors.ts
2
44
  var HttpError = class extends Error {
3
45
  constructor(status, statusText, body, url) {
@@ -136,19 +178,74 @@ function createHttp(cfg) {
136
178
  }
137
179
 
138
180
  // src/api/agents.ts
139
- function createAgentsApi(cfg) {
181
+ function createAgentsApi(cfg, relatedApis) {
140
182
  const { base, doFetch } = createHttp(cfg);
183
+ const jsonHeaders = { "content-type": "application/json" };
184
+ const listAgents = async () => {
185
+ const res = await doFetch(`${base}/v1/agents`, {
186
+ method: "GET"
187
+ });
188
+ return res.json();
189
+ };
190
+ const getAgentDetail = async (agentId) => {
191
+ const res = await doFetch(`${base}/v1/agents/${agentId}`, {
192
+ method: "GET"
193
+ });
194
+ return res.json();
195
+ };
196
+ const createAgent = async (payload) => {
197
+ const res = await doFetch(`${base}/v1/agents`, {
198
+ method: "POST",
199
+ body: JSON.stringify(payload),
200
+ headers: jsonHeaders
201
+ });
202
+ return res.json();
203
+ };
204
+ const updateAgent = async (agentId, payload) => {
205
+ const res = await doFetch(`${base}/v1/agents/${agentId}`, {
206
+ method: "PATCH",
207
+ body: JSON.stringify(payload),
208
+ headers: jsonHeaders
209
+ });
210
+ return res.json();
211
+ };
212
+ const deleteAgent = async (agentId) => {
213
+ await doFetch(`${base}/v1/agents/${agentId}`, {
214
+ method: "DELETE"
215
+ });
216
+ };
217
+ const baseApi = {
218
+ list: listAgents,
219
+ get: getAgentDetail,
220
+ create: createAgent,
221
+ update: updateAgent,
222
+ delete: deleteAgent
223
+ };
224
+ if (!relatedApis) {
225
+ return baseApi;
226
+ }
227
+ const wrapAgent = (detail) => createAgentEntity(detail, {
228
+ instructionsApi: relatedApis.instructionsApi,
229
+ knowledgeApi: relatedApis.knowledgeApi,
230
+ phonesApi: relatedApis.phonesApi,
231
+ reload: async (agentId) => {
232
+ const latest = await getAgentDetail(agentId);
233
+ return wrapAgent(latest);
234
+ }
235
+ });
141
236
  return {
237
+ ...baseApi,
142
238
  async get(agentId) {
143
- const res = await doFetch(`${base}/v1/agents/${agentId}`, {
144
- method: "GET"
145
- });
146
- return res.json();
239
+ const detail = await getAgentDetail(agentId);
240
+ return wrapAgent(detail);
147
241
  },
148
- async delete(agentId) {
149
- await doFetch(`${base}/v1/agents/${agentId}`, {
150
- method: "DELETE"
151
- });
242
+ async create(payload) {
243
+ const detail = await createAgent(payload);
244
+ return wrapAgent(detail);
245
+ },
246
+ async update(agentId, payload) {
247
+ const detail = await updateAgent(agentId, payload);
248
+ return wrapAgent(detail);
152
249
  }
153
250
  };
154
251
  }
@@ -297,12 +394,20 @@ function createClient(initialCfg) {
297
394
  const setWorkspaceGetter = (getter) => {
298
395
  runtimeCfg.getWorkspaceId = getter;
299
396
  };
397
+ const instructionsApi = createAgentInstructionsApi(runtimeCfg);
398
+ const knowledgeApi = createAgentKnowledgeApi(runtimeCfg);
399
+ const phonesApi = createAgentPhonesApi(runtimeCfg);
400
+ const agentsApi = createAgentsApi(runtimeCfg, {
401
+ instructionsApi,
402
+ knowledgeApi,
403
+ phonesApi
404
+ });
300
405
  const apis = {
301
406
  agents: {
302
- ...createAgentsApi(runtimeCfg),
303
- knowledge: createAgentKnowledgeApi(runtimeCfg),
304
- instructions: createAgentInstructionsApi(runtimeCfg),
305
- phones: createAgentPhonesApi(runtimeCfg)
407
+ ...agentsApi,
408
+ knowledge: knowledgeApi,
409
+ instructions: instructionsApi,
410
+ phones: phonesApi
306
411
  },
307
412
  workspaces: createWorkspacesApi(runtimeCfg),
308
413
  tools: createToolsApi(runtimeCfg)
@@ -336,6 +441,10 @@ export {
336
441
  HttpError,
337
442
  NetworkError,
338
443
  TimeoutError,
444
+ bindAgentInstructions,
445
+ bindAgentKnowledge,
446
+ bindAgentPhones,
447
+ createAgentEntity,
339
448
  createAgentInstructionsApi,
340
449
  createAgentKnowledgeApi,
341
450
  createAgentPhonesApi,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/errors.ts","../src/http.ts","../src/api/agents.ts","../src/api/agent-knowledge.ts","../src/api/agent-instructions.ts","../src/api/agent-phones.ts","../src/api/workspaces.ts","../src/api/tools.ts","../src/client.ts"],"sourcesContent":["export class HttpError extends Error {\n constructor(\n public status: number,\n public statusText: string,\n public body?: unknown,\n public url?: string,\n ) {\n super(`HTTP ${status} ${statusText}`);\n this.name = 'HttpError';\n }\n}\n\nexport class TimeoutError extends Error {\n constructor(\n public ms: number,\n public url?: string,\n ) {\n super(`Timeout after ${ms}ms`);\n this.name = 'TimeoutError';\n }\n}\n\nexport class NetworkError extends Error {\n constructor(\n public cause?: unknown,\n public url?: string,\n ) {\n super('Network error');\n this.name = 'NetworkError';\n }\n}\n\nexport type RetryPolicy = {\n maxRetries?: number; // default 2\n baseDelayMs?: number; // default 300\n maxDelayMs?: number; // default 3000\n retryOn?: (err: unknown, attempt: number) => boolean; // default: network or 5xx\n};\n","import { ClientConfig } from './types';\nimport { HttpError, NetworkError, RetryPolicy, TimeoutError } from './errors';\n\nfunction sleep(ms: number) {\n return new Promise((r) => setTimeout(r, ms));\n}\n\nasync function withTimeout<T>(\n p: Promise<T>,\n ms: number,\n ab?: AbortController,\n url?: string,\n) {\n return new Promise<T>((resolve, reject) => {\n const to = setTimeout(() => {\n ab?.abort();\n reject(new TimeoutError(ms, url));\n }, ms);\n p.then((v) => {\n clearTimeout(to);\n resolve(v);\n }).catch((e) => {\n clearTimeout(to);\n reject(e);\n });\n });\n}\n\nasync function withRetry<T>(\n fn: (attempt: number) => Promise<T>,\n policy?: RetryPolicy,\n): Promise<T> {\n const max = policy?.maxRetries ?? 2;\n const base = policy?.baseDelayMs ?? 300;\n const maxDelay = policy?.maxDelayMs ?? 3000;\n const retryOn =\n policy?.retryOn ??\n ((err) =>\n err instanceof NetworkError ||\n (err instanceof HttpError && err.status >= 500));\n let attempt = 0;\n // eslint-disable-next-line no-constant-condition\n while (true) {\n try {\n return await fn(attempt);\n } catch (e) {\n if (attempt >= max || !retryOn(e, attempt)) throw e;\n const delay =\n Math.min(maxDelay, base * 2 ** attempt) +\n Math.floor(Math.random() * 100);\n await sleep(delay);\n attempt += 1;\n }\n }\n}\n\nexport function createHttp(cfg: ClientConfig & { retry?: RetryPolicy }) {\n const base = cfg.baseUrl.replace(/\\/$/, '');\n const fx = cfg.fetchImpl ?? fetch;\n const baseHeaders = { ...(cfg.headers ?? {}) };\n const timeout = cfg.timeoutMs ?? 35000;\n const log = cfg.logger ?? {};\n const retry = cfg.retry;\n const WORKSPACE_HEADER = 'x-workspace-id';\n\n const resolveWorkspaceId = () =>\n cfg.getWorkspaceId?.() ?? cfg.workspaceId ?? undefined;\n\n const normalizeHeaders = (headers?: HeadersInit): Record<string, string> => {\n if (!headers) {\n return {};\n }\n\n if (headers instanceof Headers) {\n const result: Record<string, string> = {};\n headers.forEach((value, key) => {\n result[key] = value;\n });\n return result;\n }\n\n if (Array.isArray(headers)) {\n return headers.reduce<Record<string, string>>((acc, [key, value]) => {\n acc[key] = value;\n return acc;\n }, {});\n }\n\n return { ...headers } as Record<string, string>;\n };\n\n const buildHeaders = (extra?: HeadersInit): Record<string, string> => {\n const workspaceId = resolveWorkspaceId();\n const normalizedExtra = normalizeHeaders(extra);\n const headersWithWorkspace = workspaceId\n ? { [WORKSPACE_HEADER]: workspaceId }\n : {};\n\n return {\n ...baseHeaders,\n ...headersWithWorkspace,\n ...normalizedExtra,\n };\n };\n\n async function doFetch(url: string, init: RequestInit = {}) {\n const ab = new AbortController();\n const req = async () => {\n try {\n const finalHeaders = buildHeaders(init.headers);\n const res = await withTimeout(\n fx(url, { ...init, headers: finalHeaders, signal: ab.signal }),\n timeout,\n ab,\n url,\n );\n if (!res.ok) {\n const body = await res\n .clone()\n .json()\n .catch(() => undefined);\n throw new HttpError(res.status, res.statusText, body, url);\n }\n return res;\n } catch (e: any) {\n if (e.name === 'AbortError') throw new TimeoutError(timeout, url);\n if (e instanceof HttpError) throw e;\n throw new NetworkError(e, url);\n }\n };\n return withRetry(req, retry);\n }\n\n return {\n base,\n timeout,\n log,\n retry,\n doFetch,\n buildHeaders,\n resolveWorkspaceId,\n };\n}\n","import type { AgentDetail, ClientConfig } from '../types';\nimport type { RetryPolicy } from '../errors';\nimport { createHttp } from '../http';\n\nexport function createAgentsApi(cfg: ClientConfig & { retry?: RetryPolicy }) {\n const { base, doFetch } = createHttp(cfg);\n\n return {\n async get(agentId: string): Promise<AgentDetail> {\n const res = await doFetch(`${base}/v1/agents/${agentId}`, {\n method: 'GET',\n });\n return res.json();\n },\n async delete(agentId: string): Promise<void> {\n await doFetch(`${base}/v1/agents/${agentId}`, {\n method: 'DELETE',\n });\n },\n };\n}\n","import type {\n AgentKnowledgeBasesResponse,\n AgentKnowledgeUploadsResponse,\n ClientConfig,\n KnowledgeUploadRequest,\n KnowledgeUploadResponse,\n} from '../types';\nimport type { RetryPolicy } from '../errors';\nimport { createHttp } from '../http';\n\nexport function createAgentKnowledgeApi(\n cfg: ClientConfig & { retry?: RetryPolicy },\n) {\n const { base, doFetch } = createHttp(cfg);\n const jsonHeaders = { 'content-type': 'application/json' };\n\n return {\n async upload(\n agentId: string,\n payload: KnowledgeUploadRequest,\n ): Promise<KnowledgeUploadResponse> {\n const res = await doFetch(\n `${base}/v1/agents/${agentId}/knowledge/upload`,\n {\n method: 'POST',\n headers: jsonHeaders,\n body: JSON.stringify(payload),\n },\n );\n return res.json();\n },\n async listBases(agentId: string): Promise<AgentKnowledgeBasesResponse> {\n const res = await doFetch(\n `${base}/v1/agents/${agentId}/knowledge/bases`,\n {\n method: 'GET',\n },\n );\n return res.json();\n },\n async listUploads(agentId: string): Promise<AgentKnowledgeUploadsResponse> {\n const res = await doFetch(\n `${base}/v1/agents/${agentId}/knowledge/uploads`,\n {\n method: 'GET',\n },\n );\n return res.json();\n },\n };\n}\n","import type {\n AgentInstructionsResponse,\n ClientConfig,\n CreateInstructionRequest,\n InstructionCreatedResponse,\n} from '../types';\nimport type { RetryPolicy } from '../errors';\nimport { createHttp } from '../http';\n\nexport function createAgentInstructionsApi(\n cfg: ClientConfig & { retry?: RetryPolicy },\n) {\n const { base, doFetch } = createHttp(cfg);\n const jsonHeaders = { 'content-type': 'application/json' };\n\n return {\n async list(\n agentId: string,\n opts?: { versionId?: string },\n ): Promise<AgentInstructionsResponse> {\n const search = opts?.versionId\n ? `?versionId=${encodeURIComponent(opts.versionId)}`\n : '';\n const res = await doFetch(\n `${base}/v1/agents/${agentId}/instructions${search}`,\n {\n method: 'GET',\n },\n );\n return res.json();\n },\n async create(\n agentId: string,\n payload: CreateInstructionRequest,\n ): Promise<InstructionCreatedResponse> {\n const res = await doFetch(`${base}/v1/agents/${agentId}/instructions`, {\n method: 'POST',\n headers: jsonHeaders,\n body: JSON.stringify(payload),\n });\n return res.json();\n },\n };\n}\n","import type {\n ClientConfig,\n ConnectPhoneRequest,\n PhoneAssignmentResponse,\n} from '../types';\nimport type { RetryPolicy } from '../errors';\nimport { createHttp } from '../http';\n\nexport function createAgentPhonesApi(\n cfg: ClientConfig & { retry?: RetryPolicy },\n) {\n const { base, doFetch } = createHttp(cfg);\n const jsonHeaders = { 'content-type': 'application/json' };\n\n return {\n async connect(\n agentId: string,\n payload: ConnectPhoneRequest,\n ): Promise<PhoneAssignmentResponse> {\n const res = await doFetch(`${base}/v1/agents/${agentId}/phones`, {\n method: 'POST',\n headers: jsonHeaders,\n body: JSON.stringify(payload),\n });\n return res.json();\n },\n async disconnect(agentId: string, phoneId: string): Promise<void> {\n await doFetch(`${base}/v1/agents/${agentId}/phones/${phoneId}`, {\n method: 'DELETE',\n });\n },\n };\n}\n","import type {\n ClientConfig,\n WorkspaceEnableRequest,\n WorkspaceEnableResponse,\n WorkspacePhoneChannel,\n WorkspacePhonesResponse,\n} from '../types';\nimport type { RetryPolicy } from '../errors';\nimport { createHttp } from '../http';\n\nexport function createWorkspacesApi(\n cfg: ClientConfig & { retry?: RetryPolicy },\n) {\n const { base, doFetch } = createHttp(cfg);\n const jsonHeaders = { 'content-type': 'application/json' };\n\n return {\n async listPhones(\n workspaceId: string,\n opts?: { channel?: WorkspacePhoneChannel },\n ): Promise<WorkspacePhonesResponse> {\n const search = opts?.channel ? `?channel=${opts.channel}` : '';\n const res = await doFetch(\n `${base}/v1/workspaces/${workspaceId}/phones${search}`,\n {\n method: 'GET',\n },\n );\n return res.json();\n },\n async enable(\n workspaceId: string,\n payload: WorkspaceEnableRequest,\n ): Promise<WorkspaceEnableResponse> {\n const res = await doFetch(`${base}/v1/workspaces/${workspaceId}/enable`, {\n method: 'POST',\n headers: jsonHeaders,\n body: JSON.stringify(payload),\n });\n return res.json();\n },\n };\n}\n","import type {\n ClientConfig,\n ExecuteToolRequest,\n ExecuteToolResponse,\n ToolsCatalogResponse,\n} from '../types';\nimport type { RetryPolicy } from '../errors';\nimport { createHttp } from '../http';\n\nexport function createToolsApi(cfg: ClientConfig & { retry?: RetryPolicy }) {\n const { base, doFetch } = createHttp(cfg);\n const jsonHeaders = { 'content-type': 'application/json' };\n\n return {\n async list(): Promise<ToolsCatalogResponse> {\n const res = await doFetch(`${base}/v1/tools`, {\n method: 'GET',\n });\n return res.json();\n },\n async execute(\n toolId: string,\n payload: ExecuteToolRequest,\n ): Promise<ExecuteToolResponse> {\n const res = await doFetch(`${base}/v1/tools/${toolId}/execute`, {\n method: 'POST',\n headers: jsonHeaders,\n body: JSON.stringify(payload),\n });\n return res.json();\n },\n };\n}\n","import type { ClientConfig } from './types';\nimport type { RetryPolicy } from './errors';\nimport { createAgentsApi } from './api/agents';\nimport { createAgentKnowledgeApi } from './api/agent-knowledge';\nimport { createAgentInstructionsApi } from './api/agent-instructions';\nimport { createAgentPhonesApi } from './api/agent-phones';\nimport { createWorkspacesApi } from './api/workspaces';\nimport { createToolsApi } from './api/tools';\n\nexport function createClient(\n initialCfg: ClientConfig & { retry?: RetryPolicy },\n) {\n const runtimeCfg: ClientConfig & { retry?: RetryPolicy } = {\n ...initialCfg,\n };\n\n const resolveWorkspaceId = () =>\n runtimeCfg.workspaceId ?? runtimeCfg.getWorkspaceId?.();\n\n const setWorkspaceId = (workspaceId?: string) => {\n runtimeCfg.workspaceId = workspaceId;\n };\n\n const setWorkspaceGetter = (\n getter?: (() => string | undefined) | undefined,\n ) => {\n runtimeCfg.getWorkspaceId = getter;\n };\n\n const apis = {\n agents: {\n ...createAgentsApi(runtimeCfg),\n knowledge: createAgentKnowledgeApi(runtimeCfg),\n instructions: createAgentInstructionsApi(runtimeCfg),\n phones: createAgentPhonesApi(runtimeCfg),\n },\n workspaces: createWorkspacesApi(runtimeCfg),\n tools: createToolsApi(runtimeCfg),\n };\n\n return {\n ...apis,\n workspace: {\n get: resolveWorkspaceId,\n set(id?: string) {\n setWorkspaceGetter(undefined);\n setWorkspaceId(id);\n },\n useGetter(getter?: () => string | undefined) {\n setWorkspaceGetter(getter);\n },\n clear() {\n setWorkspaceGetter(undefined);\n setWorkspaceId(undefined);\n },\n scoped(id: string) {\n return createClient({\n ...initialCfg,\n workspaceId: id,\n getWorkspaceId: undefined,\n });\n },\n },\n };\n}\n"],"mappings":";AAAO,IAAM,YAAN,cAAwB,MAAM;AAAA,EACnC,YACS,QACA,YACA,MACA,KACP;AACA,UAAM,QAAQ,MAAM,IAAI,UAAU,EAAE;AAL7B;AACA;AACA;AACA;AAGP,SAAK,OAAO;AAAA,EACd;AACF;AAEO,IAAM,eAAN,cAA2B,MAAM;AAAA,EACtC,YACS,IACA,KACP;AACA,UAAM,iBAAiB,EAAE,IAAI;AAHtB;AACA;AAGP,SAAK,OAAO;AAAA,EACd;AACF;AAEO,IAAM,eAAN,cAA2B,MAAM;AAAA,EACtC,YACS,OACA,KACP;AACA,UAAM,eAAe;AAHd;AACA;AAGP,SAAK,OAAO;AAAA,EACd;AACF;;;AC3BA,SAAS,MAAM,IAAY;AACzB,SAAO,IAAI,QAAQ,CAAC,MAAM,WAAW,GAAG,EAAE,CAAC;AAC7C;AAEA,eAAe,YACb,GACA,IACA,IACA,KACA;AACA,SAAO,IAAI,QAAW,CAAC,SAAS,WAAW;AACzC,UAAM,KAAK,WAAW,MAAM;AAC1B,UAAI,MAAM;AACV,aAAO,IAAI,aAAa,IAAI,GAAG,CAAC;AAAA,IAClC,GAAG,EAAE;AACL,MAAE,KAAK,CAAC,MAAM;AACZ,mBAAa,EAAE;AACf,cAAQ,CAAC;AAAA,IACX,CAAC,EAAE,MAAM,CAAC,MAAM;AACd,mBAAa,EAAE;AACf,aAAO,CAAC;AAAA,IACV,CAAC;AAAA,EACH,CAAC;AACH;AAEA,eAAe,UACb,IACA,QACY;AACZ,QAAM,MAAM,QAAQ,cAAc;AAClC,QAAM,OAAO,QAAQ,eAAe;AACpC,QAAM,WAAW,QAAQ,cAAc;AACvC,QAAM,UACJ,QAAQ,YACP,CAAC,QACA,eAAe,gBACd,eAAe,aAAa,IAAI,UAAU;AAC/C,MAAI,UAAU;AAEd,SAAO,MAAM;AACX,QAAI;AACF,aAAO,MAAM,GAAG,OAAO;AAAA,IACzB,SAAS,GAAG;AACV,UAAI,WAAW,OAAO,CAAC,QAAQ,GAAG,OAAO,EAAG,OAAM;AAClD,YAAM,QACJ,KAAK,IAAI,UAAU,OAAO,KAAK,OAAO,IACtC,KAAK,MAAM,KAAK,OAAO,IAAI,GAAG;AAChC,YAAM,MAAM,KAAK;AACjB,iBAAW;AAAA,IACb;AAAA,EACF;AACF;AAEO,SAAS,WAAW,KAA6C;AACtE,QAAM,OAAO,IAAI,QAAQ,QAAQ,OAAO,EAAE;AAC1C,QAAM,KAAK,IAAI,aAAa;AAC5B,QAAM,cAAc,EAAE,GAAI,IAAI,WAAW,CAAC,EAAG;AAC7C,QAAM,UAAU,IAAI,aAAa;AACjC,QAAM,MAAM,IAAI,UAAU,CAAC;AAC3B,QAAM,QAAQ,IAAI;AAClB,QAAM,mBAAmB;AAEzB,QAAM,qBAAqB,MACzB,IAAI,iBAAiB,KAAK,IAAI,eAAe;AAE/C,QAAM,mBAAmB,CAAC,YAAkD;AAC1E,QAAI,CAAC,SAAS;AACZ,aAAO,CAAC;AAAA,IACV;AAEA,QAAI,mBAAmB,SAAS;AAC9B,YAAM,SAAiC,CAAC;AACxC,cAAQ,QAAQ,CAAC,OAAO,QAAQ;AAC9B,eAAO,GAAG,IAAI;AAAA,MAChB,CAAC;AACD,aAAO;AAAA,IACT;AAEA,QAAI,MAAM,QAAQ,OAAO,GAAG;AAC1B,aAAO,QAAQ,OAA+B,CAAC,KAAK,CAAC,KAAK,KAAK,MAAM;AACnE,YAAI,GAAG,IAAI;AACX,eAAO;AAAA,MACT,GAAG,CAAC,CAAC;AAAA,IACP;AAEA,WAAO,EAAE,GAAG,QAAQ;AAAA,EACtB;AAEA,QAAM,eAAe,CAAC,UAAgD;AACpE,UAAM,cAAc,mBAAmB;AACvC,UAAM,kBAAkB,iBAAiB,KAAK;AAC9C,UAAM,uBAAuB,cACzB,EAAE,CAAC,gBAAgB,GAAG,YAAY,IAClC,CAAC;AAEL,WAAO;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,IACL;AAAA,EACF;AAEA,iBAAe,QAAQ,KAAa,OAAoB,CAAC,GAAG;AAC1D,UAAM,KAAK,IAAI,gBAAgB;AAC/B,UAAM,MAAM,YAAY;AACtB,UAAI;AACF,cAAM,eAAe,aAAa,KAAK,OAAO;AAC9C,cAAM,MAAM,MAAM;AAAA,UAChB,GAAG,KAAK,EAAE,GAAG,MAAM,SAAS,cAAc,QAAQ,GAAG,OAAO,CAAC;AAAA,UAC7D;AAAA,UACA;AAAA,UACA;AAAA,QACF;AACA,YAAI,CAAC,IAAI,IAAI;AACX,gBAAM,OAAO,MAAM,IAChB,MAAM,EACN,KAAK,EACL,MAAM,MAAM,MAAS;AACxB,gBAAM,IAAI,UAAU,IAAI,QAAQ,IAAI,YAAY,MAAM,GAAG;AAAA,QAC3D;AACA,eAAO;AAAA,MACT,SAAS,GAAQ;AACf,YAAI,EAAE,SAAS,aAAc,OAAM,IAAI,aAAa,SAAS,GAAG;AAChE,YAAI,aAAa,UAAW,OAAM;AAClC,cAAM,IAAI,aAAa,GAAG,GAAG;AAAA,MAC/B;AAAA,IACF;AACA,WAAO,UAAU,KAAK,KAAK;AAAA,EAC7B;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;;;AC1IO,SAAS,gBAAgB,KAA6C;AAC3E,QAAM,EAAE,MAAM,QAAQ,IAAI,WAAW,GAAG;AAExC,SAAO;AAAA,IACL,MAAM,IAAI,SAAuC;AAC/C,YAAM,MAAM,MAAM,QAAQ,GAAG,IAAI,cAAc,OAAO,IAAI;AAAA,QACxD,QAAQ;AAAA,MACV,CAAC;AACD,aAAO,IAAI,KAAK;AAAA,IAClB;AAAA,IACA,MAAM,OAAO,SAAgC;AAC3C,YAAM,QAAQ,GAAG,IAAI,cAAc,OAAO,IAAI;AAAA,QAC5C,QAAQ;AAAA,MACV,CAAC;AAAA,IACH;AAAA,EACF;AACF;;;ACVO,SAAS,wBACd,KACA;AACA,QAAM,EAAE,MAAM,QAAQ,IAAI,WAAW,GAAG;AACxC,QAAM,cAAc,EAAE,gBAAgB,mBAAmB;AAEzD,SAAO;AAAA,IACL,MAAM,OACJ,SACA,SACkC;AAClC,YAAM,MAAM,MAAM;AAAA,QAChB,GAAG,IAAI,cAAc,OAAO;AAAA,QAC5B;AAAA,UACE,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,MAAM,KAAK,UAAU,OAAO;AAAA,QAC9B;AAAA,MACF;AACA,aAAO,IAAI,KAAK;AAAA,IAClB;AAAA,IACA,MAAM,UAAU,SAAuD;AACrE,YAAM,MAAM,MAAM;AAAA,QAChB,GAAG,IAAI,cAAc,OAAO;AAAA,QAC5B;AAAA,UACE,QAAQ;AAAA,QACV;AAAA,MACF;AACA,aAAO,IAAI,KAAK;AAAA,IAClB;AAAA,IACA,MAAM,YAAY,SAAyD;AACzE,YAAM,MAAM,MAAM;AAAA,QAChB,GAAG,IAAI,cAAc,OAAO;AAAA,QAC5B;AAAA,UACE,QAAQ;AAAA,QACV;AAAA,MACF;AACA,aAAO,IAAI,KAAK;AAAA,IAClB;AAAA,EACF;AACF;;;ACzCO,SAAS,2BACd,KACA;AACA,QAAM,EAAE,MAAM,QAAQ,IAAI,WAAW,GAAG;AACxC,QAAM,cAAc,EAAE,gBAAgB,mBAAmB;AAEzD,SAAO;AAAA,IACL,MAAM,KACJ,SACA,MACoC;AACpC,YAAM,SAAS,MAAM,YACjB,cAAc,mBAAmB,KAAK,SAAS,CAAC,KAChD;AACJ,YAAM,MAAM,MAAM;AAAA,QAChB,GAAG,IAAI,cAAc,OAAO,gBAAgB,MAAM;AAAA,QAClD;AAAA,UACE,QAAQ;AAAA,QACV;AAAA,MACF;AACA,aAAO,IAAI,KAAK;AAAA,IAClB;AAAA,IACA,MAAM,OACJ,SACA,SACqC;AACrC,YAAM,MAAM,MAAM,QAAQ,GAAG,IAAI,cAAc,OAAO,iBAAiB;AAAA,QACrE,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,MAAM,KAAK,UAAU,OAAO;AAAA,MAC9B,CAAC;AACD,aAAO,IAAI,KAAK;AAAA,IAClB;AAAA,EACF;AACF;;;ACnCO,SAAS,qBACd,KACA;AACA,QAAM,EAAE,MAAM,QAAQ,IAAI,WAAW,GAAG;AACxC,QAAM,cAAc,EAAE,gBAAgB,mBAAmB;AAEzD,SAAO;AAAA,IACL,MAAM,QACJ,SACA,SACkC;AAClC,YAAM,MAAM,MAAM,QAAQ,GAAG,IAAI,cAAc,OAAO,WAAW;AAAA,QAC/D,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,MAAM,KAAK,UAAU,OAAO;AAAA,MAC9B,CAAC;AACD,aAAO,IAAI,KAAK;AAAA,IAClB;AAAA,IACA,MAAM,WAAW,SAAiB,SAAgC;AAChE,YAAM,QAAQ,GAAG,IAAI,cAAc,OAAO,WAAW,OAAO,IAAI;AAAA,QAC9D,QAAQ;AAAA,MACV,CAAC;AAAA,IACH;AAAA,EACF;AACF;;;ACtBO,SAAS,oBACd,KACA;AACA,QAAM,EAAE,MAAM,QAAQ,IAAI,WAAW,GAAG;AACxC,QAAM,cAAc,EAAE,gBAAgB,mBAAmB;AAEzD,SAAO;AAAA,IACL,MAAM,WACJ,aACA,MACkC;AAClC,YAAM,SAAS,MAAM,UAAU,YAAY,KAAK,OAAO,KAAK;AAC5D,YAAM,MAAM,MAAM;AAAA,QAChB,GAAG,IAAI,kBAAkB,WAAW,UAAU,MAAM;AAAA,QACpD;AAAA,UACE,QAAQ;AAAA,QACV;AAAA,MACF;AACA,aAAO,IAAI,KAAK;AAAA,IAClB;AAAA,IACA,MAAM,OACJ,aACA,SACkC;AAClC,YAAM,MAAM,MAAM,QAAQ,GAAG,IAAI,kBAAkB,WAAW,WAAW;AAAA,QACvE,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,MAAM,KAAK,UAAU,OAAO;AAAA,MAC9B,CAAC;AACD,aAAO,IAAI,KAAK;AAAA,IAClB;AAAA,EACF;AACF;;;ACjCO,SAAS,eAAe,KAA6C;AAC1E,QAAM,EAAE,MAAM,QAAQ,IAAI,WAAW,GAAG;AACxC,QAAM,cAAc,EAAE,gBAAgB,mBAAmB;AAEzD,SAAO;AAAA,IACL,MAAM,OAAsC;AAC1C,YAAM,MAAM,MAAM,QAAQ,GAAG,IAAI,aAAa;AAAA,QAC5C,QAAQ;AAAA,MACV,CAAC;AACD,aAAO,IAAI,KAAK;AAAA,IAClB;AAAA,IACA,MAAM,QACJ,QACA,SAC8B;AAC9B,YAAM,MAAM,MAAM,QAAQ,GAAG,IAAI,aAAa,MAAM,YAAY;AAAA,QAC9D,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,MAAM,KAAK,UAAU,OAAO;AAAA,MAC9B,CAAC;AACD,aAAO,IAAI,KAAK;AAAA,IAClB;AAAA,EACF;AACF;;;ACvBO,SAAS,aACd,YACA;AACA,QAAM,aAAqD;AAAA,IACzD,GAAG;AAAA,EACL;AAEA,QAAM,qBAAqB,MACzB,WAAW,eAAe,WAAW,iBAAiB;AAExD,QAAM,iBAAiB,CAAC,gBAAyB;AAC/C,eAAW,cAAc;AAAA,EAC3B;AAEA,QAAM,qBAAqB,CACzB,WACG;AACH,eAAW,iBAAiB;AAAA,EAC9B;AAEA,QAAM,OAAO;AAAA,IACX,QAAQ;AAAA,MACN,GAAG,gBAAgB,UAAU;AAAA,MAC7B,WAAW,wBAAwB,UAAU;AAAA,MAC7C,cAAc,2BAA2B,UAAU;AAAA,MACnD,QAAQ,qBAAqB,UAAU;AAAA,IACzC;AAAA,IACA,YAAY,oBAAoB,UAAU;AAAA,IAC1C,OAAO,eAAe,UAAU;AAAA,EAClC;AAEA,SAAO;AAAA,IACL,GAAG;AAAA,IACH,WAAW;AAAA,MACT,KAAK;AAAA,MACL,IAAI,IAAa;AACf,2BAAmB,MAAS;AAC5B,uBAAe,EAAE;AAAA,MACnB;AAAA,MACA,UAAU,QAAmC;AAC3C,2BAAmB,MAAM;AAAA,MAC3B;AAAA,MACA,QAAQ;AACN,2BAAmB,MAAS;AAC5B,uBAAe,MAAS;AAAA,MAC1B;AAAA,MACA,OAAO,IAAY;AACjB,eAAO,aAAa;AAAA,UAClB,GAAG;AAAA,UACH,aAAa;AAAA,UACb,gBAAgB;AAAA,QAClB,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../src/entities/agent.ts","../src/errors.ts","../src/http.ts","../src/api/agents.ts","../src/api/agent-knowledge.ts","../src/api/agent-instructions.ts","../src/api/agent-phones.ts","../src/api/workspaces.ts","../src/api/tools.ts","../src/client.ts"],"sourcesContent":["import type {\n AgentDetail,\n ConnectPhoneRequest,\n CreateInstructionRequest,\n KnowledgeUploadRequest,\n} from '../types';\nimport type { createAgentInstructionsApi } from '../api/agent-instructions';\nimport type { createAgentKnowledgeApi } from '../api/agent-knowledge';\nimport type { createAgentPhonesApi } from '../api/agent-phones';\n\ntype AgentInstructionsApi = ReturnType<typeof createAgentInstructionsApi>;\ntype AgentKnowledgeApi = ReturnType<typeof createAgentKnowledgeApi>;\ntype AgentPhonesApi = ReturnType<typeof createAgentPhonesApi>;\n\ntype AgentInstructionsHelper = ReturnType<typeof bindAgentInstructions>;\ntype AgentKnowledgeHelper = ReturnType<typeof bindAgentKnowledge>;\ntype AgentPhonesHelper = ReturnType<typeof bindAgentPhones>;\n\nexport interface AgentEntity extends AgentDetail {\n instructions: AgentInstructionsHelper;\n knowledge: AgentKnowledgeHelper;\n phones: AgentPhonesHelper;\n refresh(): Promise<AgentEntity>;\n}\n\nexport type AgentEntityFactoryOptions = {\n instructionsApi: AgentInstructionsApi;\n knowledgeApi: AgentKnowledgeApi;\n phonesApi: AgentPhonesApi;\n reload(agentId: string): Promise<AgentEntity>;\n};\n\nexport const bindAgentInstructions = (\n api: AgentInstructionsApi,\n agentId: string,\n) => ({\n list(opts?: { versionId?: string }) {\n return api.list(agentId, opts);\n },\n create(payload: CreateInstructionRequest) {\n return api.create(agentId, payload);\n },\n});\n\nexport const bindAgentKnowledge = (\n api: AgentKnowledgeApi,\n agentId: string,\n) => ({\n upload(payload: KnowledgeUploadRequest) {\n return api.upload(agentId, payload);\n },\n listBases() {\n return api.listBases(agentId);\n },\n listUploads() {\n return api.listUploads(agentId);\n },\n});\n\nexport const bindAgentPhones = (api: AgentPhonesApi, agentId: string) => ({\n connect(payload: ConnectPhoneRequest) {\n return api.connect(agentId, payload);\n },\n disconnect(phoneId: string) {\n return api.disconnect(agentId, phoneId);\n },\n});\n\nexport const createAgentEntity = (\n dto: AgentDetail,\n options: AgentEntityFactoryOptions,\n): AgentEntity => {\n const { instructionsApi, knowledgeApi, phonesApi, reload } = options;\n\n const entity: AgentEntity = {\n ...dto,\n instructions: bindAgentInstructions(instructionsApi, dto.agentId),\n knowledge: bindAgentKnowledge(knowledgeApi, dto.agentId),\n phones: bindAgentPhones(phonesApi, dto.agentId),\n async refresh() {\n return reload(dto.agentId);\n },\n };\n\n return Object.freeze(entity);\n};\n","export class HttpError extends Error {\n constructor(\n public status: number,\n public statusText: string,\n public body?: unknown,\n public url?: string,\n ) {\n super(`HTTP ${status} ${statusText}`);\n this.name = 'HttpError';\n }\n}\n\nexport class TimeoutError extends Error {\n constructor(\n public ms: number,\n public url?: string,\n ) {\n super(`Timeout after ${ms}ms`);\n this.name = 'TimeoutError';\n }\n}\n\nexport class NetworkError extends Error {\n constructor(\n public cause?: unknown,\n public url?: string,\n ) {\n super('Network error');\n this.name = 'NetworkError';\n }\n}\n\nexport type RetryPolicy = {\n maxRetries?: number; // default 2\n baseDelayMs?: number; // default 300\n maxDelayMs?: number; // default 3000\n retryOn?: (err: unknown, attempt: number) => boolean; // default: network or 5xx\n};\n","import { ClientConfig } from './types';\nimport { HttpError, NetworkError, RetryPolicy, TimeoutError } from './errors';\n\nfunction sleep(ms: number) {\n return new Promise((r) => setTimeout(r, ms));\n}\n\nasync function withTimeout<T>(\n p: Promise<T>,\n ms: number,\n ab?: AbortController,\n url?: string,\n) {\n return new Promise<T>((resolve, reject) => {\n const to = setTimeout(() => {\n ab?.abort();\n reject(new TimeoutError(ms, url));\n }, ms);\n p.then((v) => {\n clearTimeout(to);\n resolve(v);\n }).catch((e) => {\n clearTimeout(to);\n reject(e);\n });\n });\n}\n\nasync function withRetry<T>(\n fn: (attempt: number) => Promise<T>,\n policy?: RetryPolicy,\n): Promise<T> {\n const max = policy?.maxRetries ?? 2;\n const base = policy?.baseDelayMs ?? 300;\n const maxDelay = policy?.maxDelayMs ?? 3000;\n const retryOn =\n policy?.retryOn ??\n ((err) =>\n err instanceof NetworkError ||\n (err instanceof HttpError && err.status >= 500));\n let attempt = 0;\n // eslint-disable-next-line no-constant-condition\n while (true) {\n try {\n return await fn(attempt);\n } catch (e) {\n if (attempt >= max || !retryOn(e, attempt)) throw e;\n const delay =\n Math.min(maxDelay, base * 2 ** attempt) +\n Math.floor(Math.random() * 100);\n await sleep(delay);\n attempt += 1;\n }\n }\n}\n\nexport function createHttp(cfg: ClientConfig & { retry?: RetryPolicy }) {\n const base = cfg.baseUrl.replace(/\\/$/, '');\n const fx = cfg.fetchImpl ?? fetch;\n const baseHeaders = { ...(cfg.headers ?? {}) };\n const timeout = cfg.timeoutMs ?? 35000;\n const log = cfg.logger ?? {};\n const retry = cfg.retry;\n const WORKSPACE_HEADER = 'x-workspace-id';\n\n const resolveWorkspaceId = () =>\n cfg.getWorkspaceId?.() ?? cfg.workspaceId ?? undefined;\n\n const normalizeHeaders = (headers?: HeadersInit): Record<string, string> => {\n if (!headers) {\n return {};\n }\n\n if (headers instanceof Headers) {\n const result: Record<string, string> = {};\n headers.forEach((value, key) => {\n result[key] = value;\n });\n return result;\n }\n\n if (Array.isArray(headers)) {\n return headers.reduce<Record<string, string>>((acc, [key, value]) => {\n acc[key] = value;\n return acc;\n }, {});\n }\n\n return { ...headers } as Record<string, string>;\n };\n\n const buildHeaders = (extra?: HeadersInit): Record<string, string> => {\n const workspaceId = resolveWorkspaceId();\n const normalizedExtra = normalizeHeaders(extra);\n const headersWithWorkspace = workspaceId\n ? { [WORKSPACE_HEADER]: workspaceId }\n : {};\n\n return {\n ...baseHeaders,\n ...headersWithWorkspace,\n ...normalizedExtra,\n };\n };\n\n async function doFetch(url: string, init: RequestInit = {}) {\n const ab = new AbortController();\n const req = async () => {\n try {\n const finalHeaders = buildHeaders(init.headers);\n const res = await withTimeout(\n fx(url, { ...init, headers: finalHeaders, signal: ab.signal }),\n timeout,\n ab,\n url,\n );\n if (!res.ok) {\n const body = await res\n .clone()\n .json()\n .catch(() => undefined);\n throw new HttpError(res.status, res.statusText, body, url);\n }\n return res;\n } catch (e: any) {\n if (e.name === 'AbortError') throw new TimeoutError(timeout, url);\n if (e instanceof HttpError) throw e;\n throw new NetworkError(e, url);\n }\n };\n return withRetry(req, retry);\n }\n\n return {\n base,\n timeout,\n log,\n retry,\n doFetch,\n buildHeaders,\n resolveWorkspaceId,\n };\n}\n","import type {\n AgentDetail,\n AgentListResponse,\n ClientConfig,\n CreateAgentRequest,\n UpdateAgentRequest,\n} from '../types';\nimport type { RetryPolicy } from '../errors';\nimport type { AgentEntity } from '../entities/agent';\nimport type { createAgentInstructionsApi } from './agent-instructions';\nimport type { createAgentKnowledgeApi } from './agent-knowledge';\nimport type { createAgentPhonesApi } from './agent-phones';\nimport { createAgentEntity } from '../entities/agent';\nimport { createHttp } from '../http';\n\ntype AgentEntityDependencies = {\n instructionsApi: ReturnType<typeof createAgentInstructionsApi>;\n knowledgeApi: ReturnType<typeof createAgentKnowledgeApi>;\n phonesApi: ReturnType<typeof createAgentPhonesApi>;\n};\n\nexport type AgentsApi = {\n list(): Promise<AgentListResponse>;\n get(agentId: string): Promise<AgentDetail>;\n create(payload: CreateAgentRequest): Promise<AgentDetail>;\n update(agentId: string, payload: UpdateAgentRequest): Promise<AgentDetail>;\n delete(agentId: string): Promise<void>;\n};\n\nexport type AgentsApiWithEntities = Omit<\n AgentsApi,\n 'get' | 'create' | 'update'\n> & {\n get(agentId: string): Promise<AgentEntity>;\n create(payload: CreateAgentRequest): Promise<AgentEntity>;\n update(agentId: string, payload: UpdateAgentRequest): Promise<AgentEntity>;\n};\n\nexport function createAgentsApi(\n cfg: ClientConfig & { retry?: RetryPolicy },\n relatedApis?: AgentEntityDependencies,\n): AgentsApi | AgentsApiWithEntities {\n const { base, doFetch } = createHttp(cfg);\n\n const jsonHeaders = { 'content-type': 'application/json' } as const;\n\n const listAgents = async (): Promise<AgentListResponse> => {\n const res = await doFetch(`${base}/v1/agents`, {\n method: 'GET',\n });\n return res.json();\n };\n\n const getAgentDetail = async (agentId: string): Promise<AgentDetail> => {\n const res = await doFetch(`${base}/v1/agents/${agentId}`, {\n method: 'GET',\n });\n return res.json();\n };\n\n const createAgent = async (\n payload: CreateAgentRequest,\n ): Promise<AgentDetail> => {\n const res = await doFetch(`${base}/v1/agents`, {\n method: 'POST',\n body: JSON.stringify(payload),\n headers: jsonHeaders,\n });\n return res.json();\n };\n\n const updateAgent = async (\n agentId: string,\n payload: UpdateAgentRequest,\n ): Promise<AgentDetail> => {\n const res = await doFetch(`${base}/v1/agents/${agentId}`, {\n method: 'PATCH',\n body: JSON.stringify(payload),\n headers: jsonHeaders,\n });\n return res.json();\n };\n\n const deleteAgent = async (agentId: string): Promise<void> => {\n await doFetch(`${base}/v1/agents/${agentId}`, {\n method: 'DELETE',\n });\n };\n\n const baseApi: AgentsApi = {\n list: listAgents,\n get: getAgentDetail,\n create: createAgent,\n update: updateAgent,\n delete: deleteAgent,\n };\n\n if (!relatedApis) {\n return baseApi;\n }\n\n const wrapAgent = (detail: AgentDetail): AgentEntity =>\n createAgentEntity(detail, {\n instructionsApi: relatedApis.instructionsApi,\n knowledgeApi: relatedApis.knowledgeApi,\n phonesApi: relatedApis.phonesApi,\n reload: async (agentId: string) => {\n const latest = await getAgentDetail(agentId);\n return wrapAgent(latest);\n },\n });\n\n return {\n ...baseApi,\n async get(agentId: string) {\n const detail = await getAgentDetail(agentId);\n return wrapAgent(detail);\n },\n async create(payload: CreateAgentRequest) {\n const detail = await createAgent(payload);\n return wrapAgent(detail);\n },\n async update(agentId: string, payload: UpdateAgentRequest) {\n const detail = await updateAgent(agentId, payload);\n return wrapAgent(detail);\n },\n } satisfies AgentsApiWithEntities;\n}\n","import type {\n AgentKnowledgeBasesResponse,\n AgentKnowledgeUploadsResponse,\n ClientConfig,\n KnowledgeUploadRequest,\n KnowledgeUploadResponse,\n} from '../types';\nimport type { RetryPolicy } from '../errors';\nimport { createHttp } from '../http';\n\nexport function createAgentKnowledgeApi(\n cfg: ClientConfig & { retry?: RetryPolicy },\n) {\n const { base, doFetch } = createHttp(cfg);\n const jsonHeaders = { 'content-type': 'application/json' };\n\n return {\n async upload(\n agentId: string,\n payload: KnowledgeUploadRequest,\n ): Promise<KnowledgeUploadResponse> {\n const res = await doFetch(\n `${base}/v1/agents/${agentId}/knowledge/upload`,\n {\n method: 'POST',\n headers: jsonHeaders,\n body: JSON.stringify(payload),\n },\n );\n return res.json();\n },\n async listBases(agentId: string): Promise<AgentKnowledgeBasesResponse> {\n const res = await doFetch(\n `${base}/v1/agents/${agentId}/knowledge/bases`,\n {\n method: 'GET',\n },\n );\n return res.json();\n },\n async listUploads(agentId: string): Promise<AgentKnowledgeUploadsResponse> {\n const res = await doFetch(\n `${base}/v1/agents/${agentId}/knowledge/uploads`,\n {\n method: 'GET',\n },\n );\n return res.json();\n },\n };\n}\n","import type {\n AgentInstructionsResponse,\n ClientConfig,\n CreateInstructionRequest,\n InstructionCreatedResponse,\n} from '../types';\nimport type { RetryPolicy } from '../errors';\nimport { createHttp } from '../http';\n\nexport function createAgentInstructionsApi(\n cfg: ClientConfig & { retry?: RetryPolicy },\n) {\n const { base, doFetch } = createHttp(cfg);\n const jsonHeaders = { 'content-type': 'application/json' };\n\n return {\n async list(\n agentId: string,\n opts?: { versionId?: string },\n ): Promise<AgentInstructionsResponse> {\n const search = opts?.versionId\n ? `?versionId=${encodeURIComponent(opts.versionId)}`\n : '';\n const res = await doFetch(\n `${base}/v1/agents/${agentId}/instructions${search}`,\n {\n method: 'GET',\n },\n );\n return res.json();\n },\n async create(\n agentId: string,\n payload: CreateInstructionRequest,\n ): Promise<InstructionCreatedResponse> {\n const res = await doFetch(`${base}/v1/agents/${agentId}/instructions`, {\n method: 'POST',\n headers: jsonHeaders,\n body: JSON.stringify(payload),\n });\n return res.json();\n },\n };\n}\n","import type {\n ClientConfig,\n ConnectPhoneRequest,\n PhoneAssignmentResponse,\n} from '../types';\nimport type { RetryPolicy } from '../errors';\nimport { createHttp } from '../http';\n\nexport function createAgentPhonesApi(\n cfg: ClientConfig & { retry?: RetryPolicy },\n) {\n const { base, doFetch } = createHttp(cfg);\n const jsonHeaders = { 'content-type': 'application/json' };\n\n return {\n async connect(\n agentId: string,\n payload: ConnectPhoneRequest,\n ): Promise<PhoneAssignmentResponse> {\n const res = await doFetch(`${base}/v1/agents/${agentId}/phones`, {\n method: 'POST',\n headers: jsonHeaders,\n body: JSON.stringify(payload),\n });\n return res.json();\n },\n async disconnect(agentId: string, phoneId: string): Promise<void> {\n await doFetch(`${base}/v1/agents/${agentId}/phones/${phoneId}`, {\n method: 'DELETE',\n });\n },\n };\n}\n","import type {\n ClientConfig,\n WorkspaceEnableRequest,\n WorkspaceEnableResponse,\n WorkspacePhoneChannel,\n WorkspacePhonesResponse,\n} from '../types';\nimport type { RetryPolicy } from '../errors';\nimport { createHttp } from '../http';\n\nexport function createWorkspacesApi(\n cfg: ClientConfig & { retry?: RetryPolicy },\n) {\n const { base, doFetch } = createHttp(cfg);\n const jsonHeaders = { 'content-type': 'application/json' };\n\n return {\n async listPhones(\n workspaceId: string,\n opts?: { channel?: WorkspacePhoneChannel },\n ): Promise<WorkspacePhonesResponse> {\n const search = opts?.channel ? `?channel=${opts.channel}` : '';\n const res = await doFetch(\n `${base}/v1/workspaces/${workspaceId}/phones${search}`,\n {\n method: 'GET',\n },\n );\n return res.json();\n },\n async enable(\n workspaceId: string,\n payload: WorkspaceEnableRequest,\n ): Promise<WorkspaceEnableResponse> {\n const res = await doFetch(`${base}/v1/workspaces/${workspaceId}/enable`, {\n method: 'POST',\n headers: jsonHeaders,\n body: JSON.stringify(payload),\n });\n return res.json();\n },\n };\n}\n","import type {\n ClientConfig,\n ExecuteToolRequest,\n ExecuteToolResponse,\n ToolsCatalogResponse,\n} from '../types';\nimport type { RetryPolicy } from '../errors';\nimport { createHttp } from '../http';\n\nexport function createToolsApi(cfg: ClientConfig & { retry?: RetryPolicy }) {\n const { base, doFetch } = createHttp(cfg);\n const jsonHeaders = { 'content-type': 'application/json' };\n\n return {\n async list(): Promise<ToolsCatalogResponse> {\n const res = await doFetch(`${base}/v1/tools`, {\n method: 'GET',\n });\n return res.json();\n },\n async execute(\n toolId: string,\n payload: ExecuteToolRequest,\n ): Promise<ExecuteToolResponse> {\n const res = await doFetch(`${base}/v1/tools/${toolId}/execute`, {\n method: 'POST',\n headers: jsonHeaders,\n body: JSON.stringify(payload),\n });\n return res.json();\n },\n };\n}\n","import type { AgentsApiWithEntities } from './api/agents';\nimport type { ClientConfig } from './types';\nimport type { RetryPolicy } from './errors';\nimport { createAgentInstructionsApi } from './api/agent-instructions';\nimport { createAgentKnowledgeApi } from './api/agent-knowledge';\nimport { createAgentPhonesApi } from './api/agent-phones';\nimport { createAgentsApi } from './api/agents';\nimport { createToolsApi } from './api/tools';\nimport { createWorkspacesApi } from './api/workspaces';\n\nexport function createClient(\n initialCfg: ClientConfig & { retry?: RetryPolicy },\n) {\n const runtimeCfg: ClientConfig & { retry?: RetryPolicy } = {\n ...initialCfg,\n };\n\n const resolveWorkspaceId = () =>\n runtimeCfg.workspaceId ?? runtimeCfg.getWorkspaceId?.();\n\n const setWorkspaceId = (workspaceId?: string) => {\n runtimeCfg.workspaceId = workspaceId;\n };\n\n const setWorkspaceGetter = (\n getter?: (() => string | undefined) | undefined,\n ) => {\n runtimeCfg.getWorkspaceId = getter;\n };\n\n const instructionsApi = createAgentInstructionsApi(runtimeCfg);\n const knowledgeApi = createAgentKnowledgeApi(runtimeCfg);\n const phonesApi = createAgentPhonesApi(runtimeCfg);\n\n const agentsApi = createAgentsApi(runtimeCfg, {\n instructionsApi,\n knowledgeApi,\n phonesApi,\n }) as AgentsApiWithEntities;\n\n const apis = {\n agents: {\n ...agentsApi,\n knowledge: knowledgeApi,\n instructions: instructionsApi,\n phones: phonesApi,\n },\n workspaces: createWorkspacesApi(runtimeCfg),\n tools: createToolsApi(runtimeCfg),\n };\n\n return {\n ...apis,\n workspace: {\n get: resolveWorkspaceId,\n set(id?: string) {\n setWorkspaceGetter(undefined);\n setWorkspaceId(id);\n },\n useGetter(getter?: () => string | undefined) {\n setWorkspaceGetter(getter);\n },\n clear() {\n setWorkspaceGetter(undefined);\n setWorkspaceId(undefined);\n },\n scoped(id: string) {\n return createClient({\n ...initialCfg,\n workspaceId: id,\n getWorkspaceId: undefined,\n });\n },\n },\n };\n}\n"],"mappings":"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","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@getsupervisor/agents-studio-sdk",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "type": "module",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.js",
@@ -23,7 +23,7 @@
23
23
  "build": "tsup src/index.ts --format esm,cjs --dts --sourcemap",
24
24
  "lint": "eslint \"src/**/*.{ts,tsx}\"",
25
25
  "test": "vitest",
26
- "types:gen": "npx -y openapi-typescript ../../docs/api-spec/openapi.yaml -o src/openapi-types.ts --export-type",
26
+ "types:gen": "npx -y openapi-typescript ../../../../docs/api-spec/openapi.yaml -o src/openapi-types.ts --export-type",
27
27
  "release": "semantic-release"
28
28
  },
29
29
  "devDependencies": {