@agent-commons/sdk 0.1.3 → 0.1.5

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.cjs CHANGED
@@ -52,6 +52,13 @@ var CommonsClient = class {
52
52
  }
53
53
  return res.json();
54
54
  }
55
+ // ── Models ────────────────────────────────────────────────────────────────
56
+ get models() {
57
+ return {
58
+ /** List all available LLM models from the registry */
59
+ list: () => this.request("GET", "/v1/models")
60
+ };
61
+ }
55
62
  // ── Agents ────────────────────────────────────────────────────────────────
56
63
  get agents() {
57
64
  return {
@@ -76,7 +83,14 @@ var CommonsClient = class {
76
83
  * if (event.type === 'token') process.stdout.write(event.content ?? '');
77
84
  * }
78
85
  */
79
- stream: (params) => this._streamAgentRun(params)
86
+ stream: (params) => this._streamAgentRun(params),
87
+ // ── Autonomy / Heartbeat ─────────────────────────────────────────────
88
+ /** Get the current heartbeat/autonomy status for an agent. */
89
+ getAutonomy: (agentId) => this.request("GET", `/v1/agents/${agentId}/autonomy`),
90
+ /** Enable or disable the heartbeat, optionally setting the interval. */
91
+ setAutonomy: (agentId, params) => this.request("PUT", `/v1/agents/${agentId}/autonomy`, params),
92
+ /** Trigger a single heartbeat beat immediately. */
93
+ triggerHeartbeat: (agentId) => this.request("POST", `/v1/agents/${agentId}/autonomy/trigger`)
80
94
  };
81
95
  }
82
96
  // ── Run (non-streaming) ───────────────────────────────────────────────────
@@ -125,6 +139,8 @@ var CommonsClient = class {
125
139
  get sessions() {
126
140
  return {
127
141
  list: (agentId, initiatorId) => this.request("GET", `/v1/sessions/list/${agentId}/${initiatorId}`),
142
+ /** List all sessions for a user across all agents. */
143
+ listByUser: (initiator) => this.request("GET", `/v1/sessions/user/${encodeURIComponent(initiator)}`),
128
144
  create: (params) => this.request("POST", "/v1/sessions", params),
129
145
  get: (sessionId) => this.request("GET", `/v1/sessions/${sessionId}`),
130
146
  /** Get full session with history, tasks, childSessions, and spaces. */
@@ -202,10 +218,35 @@ var CommonsClient = class {
202
218
  create: (params) => this.request("POST", "/v1/wallets", params),
203
219
  /** Get USDC and native token balance for a wallet. */
204
220
  balance: (walletId) => this.request("GET", `/v1/wallets/${walletId}/balance`),
221
+ /** Transfer USDC or ETH to another address. */
222
+ transfer: (walletId, params) => this.request("POST", `/v1/wallets/${walletId}/transfer`, params),
223
+ /**
224
+ * Proxy an HTTP request through an agent's primary wallet, automatically
225
+ * handling x402 payment challenges. The wallet signs the payment and
226
+ * retries once if the target responds with HTTP 402.
227
+ */
228
+ x402Fetch: (agentId, params) => this.request("POST", `/v1/wallets/agent/${agentId}/x402-fetch`, params),
205
229
  /** Deactivate a wallet. */
206
230
  deactivate: (walletId) => this.request("DELETE", `/v1/wallets/${walletId}`)
207
231
  };
208
232
  }
233
+ // ── API Keys ──────────────────────────────────────────────────────────────
234
+ get apiKeys() {
235
+ return {
236
+ /**
237
+ * Generate a new API key for a principal (user or agent).
238
+ * The plaintext key is returned only in this response — never again.
239
+ */
240
+ create: (params) => this.request("POST", "/v1/auth/api-keys", params),
241
+ /** List all active API keys for a principal (key values not included). */
242
+ list: (principalId, principalType) => {
243
+ const q = new URLSearchParams({ principalId, principalType }).toString();
244
+ return this.request("GET", `/v1/auth/api-keys?${q}`);
245
+ },
246
+ /** Revoke (soft-delete) an API key by its UUID. */
247
+ revoke: (id) => this.request("DELETE", `/v1/auth/api-keys/${id}`)
248
+ };
249
+ }
209
250
  // ── SSE Streaming internals ───────────────────────────────────────────────
210
251
  async *_streamAgentRun(params) {
211
252
  const res = await this._fetch(`${this.baseUrl}/v1/agents/run/stream`, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/client.ts"],"sourcesContent":["export { CommonsClient, CommonsError } from './client';\nexport type {\n Agent, CreateAgentParams,\n Session,\n ModelConfig, ModelProvider,\n RunParams, ChatMessage, StreamEvent, StreamEventType,\n Workflow, WorkflowDefinition, WorkflowNode, WorkflowNodeType, WorkflowEdge, WorkflowExecution,\n Task, CreateTaskParams,\n Tool, CreateToolParams,\n ToolKey, CreateToolKeyParams,\n ToolPermission,\n // A2A\n A2ATaskState, A2AMessage, A2AMessagePart, A2ATextPart, A2ADataPart, A2AFilePart,\n A2ATask, A2AArtifact, A2ASkill, AgentCard, A2ASendTaskParams,\n // MCP\n McpConnectionType, McpServer, McpResource, McpPrompt,\n // Skills\n Skill, SkillIndex, CreateSkillParams,\n // Memory\n AgentMemory, MemoryStats, MemoryType, MemorySourceType,\n CreateMemoryParams, UpdateMemoryParams,\n // Usage\n UsageEvent, UsageAggregation,\n // Wallet\n AgentWallet, WalletBalance, CreateWalletParams, WalletType,\n CommonsClientConfig,\n} from './types';\n","import {\n Agent, CreateAgentParams,\n RunParams, StreamEvent,\n Workflow, WorkflowExecution,\n Task, CreateTaskParams,\n Tool, CreateToolParams,\n ToolKey, CreateToolKeyParams,\n ToolPermission,\n CommonsClientConfig,\n AgentCard, A2ATask, A2ASendTaskParams,\n McpServer, McpResource, McpPrompt, McpConnectionType,\n Skill, SkillIndex, CreateSkillParams,\n UsageAggregation,\n AgentMemory, MemoryStats, MemoryType,\n CreateMemoryParams, UpdateMemoryParams,\n AgentWallet, WalletBalance, CreateWalletParams,\n} from './types';\n\nexport class CommonsClient {\n private readonly baseUrl: string;\n private readonly apiKey?: string;\n private readonly initiator?: string;\n private readonly _fetch: typeof fetch;\n\n constructor(config: CommonsClientConfig) {\n this.baseUrl = config.baseUrl.replace(/\\/$/, '');\n this.apiKey = config.apiKey;\n this.initiator = config.initiator;\n this._fetch = config.fetch ?? fetch;\n }\n\n // ── Helpers ───────────────────────────────────────────────────────────────\n\n private headers(extra?: Record<string, string>): Record<string, string> {\n const h: Record<string, string> = { 'Content-Type': 'application/json' };\n if (this.apiKey) h['Authorization'] = `Bearer ${this.apiKey}`;\n if (this.initiator) h['x-initiator'] = this.initiator;\n return { ...h, ...extra };\n }\n\n private async request<T>(method: string, path: string, body?: unknown): Promise<T> {\n const res = await this._fetch(`${this.baseUrl}${path}`, {\n method,\n headers: this.headers(),\n body: body !== undefined ? JSON.stringify(body) : undefined,\n });\n if (!res.ok) {\n const err = await res.json().catch(() => ({ message: res.statusText }));\n throw new CommonsError(err.message ?? res.statusText, res.status, err);\n }\n return res.json() as Promise<T>;\n }\n\n // ── Agents ────────────────────────────────────────────────────────────────\n\n get agents() {\n return {\n create: (params: CreateAgentParams): Promise<{ data: Agent }> =>\n this.request('POST', '/v1/agents', params),\n\n list: (owner?: string): Promise<{ data: Agent[] }> =>\n this.request('GET', `/v1/agents${owner ? `?owner=${owner}` : ''}`),\n\n get: (agentId: string): Promise<{ data: Agent }> =>\n this.request('GET', `/v1/agents/${agentId}`),\n\n update: (agentId: string, params: Partial<CreateAgentParams>): Promise<{ data: Agent }> =>\n this.request('PUT', `/v1/agents/${agentId}`, params),\n\n /** List tools assigned to an agent. */\n listTools: (agentId: string): Promise<{ data: any[] }> =>\n this.request('GET', `/v1/agents/${agentId}/tools`),\n\n /** Assign a tool to an agent. */\n addTool: (agentId: string, params: { toolId: string; usageComments?: string }): Promise<{ data: any }> =>\n this.request('POST', `/v1/agents/${agentId}/tools`, params),\n\n /** Remove a tool assignment from an agent. */\n removeTool: (assignmentId: string): Promise<void> =>\n this.request('DELETE', `/v1/agents/tools/${assignmentId}`),\n\n /** Create a liaison agent for an external agent. */\n createLiaison: (params: Record<string, any>): Promise<any> =>\n this.request('POST', '/v1/liaison', params),\n\n /**\n * Stream an agent run. Returns an async generator of StreamEvents.\n * Works in Node.js, browsers, and Edge runtimes.\n *\n * @example\n * for await (const event of client.agents.stream({ agentId, messages })) {\n * if (event.type === 'token') process.stdout.write(event.content ?? '');\n * }\n */\n stream: (params: RunParams): AsyncGenerator<StreamEvent> =>\n this._streamAgentRun(params),\n };\n }\n\n // ── Run (non-streaming) ───────────────────────────────────────────────────\n\n get run() {\n return {\n once: (params: RunParams): Promise<any> =>\n this.request('POST', '/v1/agents/run', params),\n };\n }\n\n // ── Workflows ─────────────────────────────────────────────────────────────\n\n get workflows() {\n return {\n create: (params: {\n name: string;\n description?: string;\n definition: any;\n ownerId: string;\n ownerType: 'user' | 'agent';\n isPublic?: boolean;\n category?: string;\n tags?: string[];\n }): Promise<Workflow> => this.request('POST', '/v1/workflows', params),\n\n list: (ownerId: string, ownerType: 'user' | 'agent'): Promise<Workflow[]> =>\n this.request('GET', `/v1/workflows?ownerId=${ownerId}&ownerType=${ownerType}`),\n\n get: (workflowId: string): Promise<Workflow> =>\n this.request('GET', `/v1/workflows/${workflowId}`),\n\n update: (workflowId: string, updates: Partial<Workflow>): Promise<Workflow> =>\n this.request('PUT', `/v1/workflows/${workflowId}`, updates),\n\n delete: (workflowId: string): Promise<{ success: boolean }> =>\n this.request('DELETE', `/v1/workflows/${workflowId}`),\n\n execute: (workflowId: string, params: {\n agentId?: string;\n sessionId?: string;\n inputData?: Record<string, any>;\n userId?: string;\n }): Promise<WorkflowExecution> =>\n this.request('POST', `/v1/workflows/${workflowId}/execute`, params),\n\n getExecution: (workflowId: string, executionId: string): Promise<WorkflowExecution> =>\n this.request('GET', `/v1/workflows/${workflowId}/executions/${executionId}`),\n\n listExecutions: (workflowId: string, limit?: number): Promise<WorkflowExecution[]> =>\n this.request('GET', `/v1/workflows/${workflowId}/executions${limit ? `?limit=${limit}` : ''}`),\n\n cancelExecution: (workflowId: string, executionId: string): Promise<{ success: boolean }> =>\n this.request('POST', `/v1/workflows/${workflowId}/executions/${executionId}/cancel`),\n\n /** Approve a paused human_approval node and resume execution. */\n approveExecution: (workflowId: string, executionId: string, params: {\n approvalToken: string;\n approvalData?: Record<string, any>;\n }): Promise<{ success: boolean; executionId: string; action: string }> =>\n this.request('POST', `/v1/workflows/${workflowId}/executions/${executionId}/approve`, params),\n\n /** Reject a paused human_approval node and terminate execution. */\n rejectExecution: (workflowId: string, executionId: string, params: {\n approvalToken: string;\n reason?: string;\n }): Promise<{ success: boolean; executionId: string; action: string }> =>\n this.request('POST', `/v1/workflows/${workflowId}/executions/${executionId}/reject`, params),\n\n /** Stream execution progress via SSE. Returns an async generator. */\n stream: (workflowId: string, executionId: string): AsyncGenerator<StreamEvent> =>\n this._streamSse(`/v1/workflows/${workflowId}/executions/${executionId}/stream`),\n };\n }\n\n // ── Tasks ─────────────────────────────────────────────────────────────────\n\n get tasks() {\n return {\n create: (params: CreateTaskParams): Promise<{ data: Task }> =>\n this.request('POST', '/v1/tasks', params),\n\n list: (filter: { sessionId?: string; agentId?: string; ownerId?: string; ownerType?: 'user' | 'agent' }): Promise<{ data: Task[] }> => {\n const q = new URLSearchParams(filter as any).toString();\n return this.request('GET', `/v1/tasks?${q}`);\n },\n\n get: (taskId: string): Promise<{ data: Task }> =>\n this.request('GET', `/v1/tasks/${taskId}`),\n\n execute: (taskId: string): Promise<{ success: boolean; data: any }> =>\n this.request('POST', `/v1/tasks/${taskId}/execute`),\n\n cancel: (taskId: string): Promise<{ success: boolean }> =>\n this.request('POST', `/v1/tasks/${taskId}/cancel`),\n\n delete: (taskId: string): Promise<{ success: boolean }> =>\n this.request('DELETE', `/v1/tasks/${taskId}`),\n\n /** Stream task status updates via SSE. Returns an async generator. */\n stream: (taskId: string): AsyncGenerator<StreamEvent> =>\n this._streamSse(`/v1/tasks/${taskId}/stream`),\n };\n }\n\n // ── Sessions ──────────────────────────────────────────────────────────────\n\n get sessions() {\n return {\n list: (agentId: string, initiatorId: string): Promise<{ data: import('./types').Session[] }> =>\n this.request('GET', `/v1/sessions/list/${agentId}/${initiatorId}`),\n\n create: (params: {\n agentId: string;\n initiator: string;\n title?: string;\n model?: Record<string, any>;\n }): Promise<{ data: import('./types').Session }> =>\n this.request('POST', '/v1/sessions', params),\n\n get: (sessionId: string): Promise<{ data: import('./types').Session }> =>\n this.request('GET', `/v1/sessions/${sessionId}`),\n\n /** Get full session with history, tasks, childSessions, and spaces. */\n getFull: (sessionId: string): Promise<{ data: any }> =>\n this.request('GET', `/v1/sessions/${sessionId}/full`),\n };\n }\n\n // ── Tools ─────────────────────────────────────────────────────────────────\n\n get tools() {\n return {\n list: (filter?: { agentId?: string; owner?: string; ownerType?: string; visibility?: string }): Promise<{ data: Tool[] }> => {\n const q = filter ? new URLSearchParams(filter as any).toString() : '';\n return this.request('GET', `/v1/tools${q ? `?${q}` : ''}`);\n },\n\n get: (toolId: string): Promise<{ data: Tool }> =>\n this.request('GET', `/v1/tools/${toolId}`),\n\n create: (params: CreateToolParams): Promise<{ data: Tool }> =>\n this.request('POST', '/v1/tools', params),\n\n update: (toolId: string, params: Partial<CreateToolParams>): Promise<{ data: Tool }> =>\n this.request('PUT', `/v1/tools/${toolId}`, params),\n\n delete: (toolId: string): Promise<{ success: boolean }> =>\n this.request('DELETE', `/v1/tools/${toolId}`),\n\n /** List built-in static tools available to all agents. */\n listStatic: (): Promise<{ data: Tool[] }> =>\n this.request('GET', '/v1/tools/static'),\n };\n }\n\n // ── Tool Keys ─────────────────────────────────────────────────────────────\n\n get toolKeys() {\n return {\n list: (filter: { ownerId?: string; ownerType?: string; toolId?: string }): Promise<{ success: boolean; data: ToolKey[] }> => {\n const q = new URLSearchParams(filter as any).toString();\n return this.request('GET', `/v1/tool-keys${q ? `?${q}` : ''}`);\n },\n\n create: (params: CreateToolKeyParams): Promise<{ success: boolean; data: ToolKey }> =>\n this.request('POST', '/v1/tool-keys', params),\n\n delete: (keyId: string): Promise<{ success: boolean }> =>\n this.request('DELETE', `/v1/tool-keys/${keyId}`),\n };\n }\n\n // ── Tool Permissions ──────────────────────────────────────────────────────\n\n get toolPermissions() {\n return {\n list: (toolId?: string): Promise<{ success: boolean; data: ToolPermission[] }> => {\n const q = toolId ? `?toolId=${toolId}` : '';\n return this.request('GET', `/v1/tool-permissions${q}`);\n },\n\n grant: (params: {\n toolId: string;\n subjectId: string;\n subjectType: 'user' | 'agent';\n permission: 'read' | 'execute' | 'admin';\n grantedBy?: string;\n }): Promise<{ success: boolean; data: ToolPermission }> =>\n this.request('POST', '/v1/tool-permissions/grant', params),\n\n revoke: (permissionId: string): Promise<{ success: boolean }> =>\n this.request('DELETE', `/v1/tool-permissions/revoke/${permissionId}`),\n };\n }\n\n // ── Skills ────────────────────────────────────────────────────────────────\n\n get skills() {\n return {\n list: (filter?: { ownerId?: string; ownerType?: string; isPublic?: boolean }): Promise<{ data: Skill[] }> => {\n const params = new URLSearchParams();\n if (filter?.ownerId) params.set('ownerId', filter.ownerId);\n if (filter?.ownerType) params.set('ownerType', filter.ownerType);\n if (filter?.isPublic !== undefined) params.set('isPublic', String(filter.isPublic));\n const qs = params.toString();\n return this.request('GET', `/v1/skills${qs ? `?${qs}` : ''}`);\n },\n\n get: (skillIdOrSlug: string): Promise<{ data: Skill }> =>\n this.request('GET', `/v1/skills/${skillIdOrSlug}`),\n\n getIndex: (ownerId?: string): Promise<{ data: SkillIndex[] }> => {\n const qs = ownerId ? `?ownerId=${ownerId}` : '';\n return this.request('GET', `/v1/skills/index${qs}`);\n },\n\n create: (params: CreateSkillParams): Promise<{ data: Skill }> =>\n this.request('POST', '/v1/skills', params),\n\n update: (skillIdOrSlug: string, updates: Partial<CreateSkillParams>): Promise<{ data: Skill }> =>\n this.request('PUT', `/v1/skills/${skillIdOrSlug}`, updates),\n\n delete: (skillIdOrSlug: string): Promise<{ deleted: boolean }> =>\n this.request('DELETE', `/v1/skills/${skillIdOrSlug}`),\n };\n }\n\n // ── Wallets ───────────────────────────────────────────────────────────────\n\n get wallets() {\n return {\n /** List all wallets for an agent. */\n list: (agentId: string): Promise<AgentWallet[]> =>\n this.request('GET', `/v1/wallets/agent/${agentId}`),\n\n /** Get the primary active wallet for an agent. */\n primary: (agentId: string): Promise<AgentWallet | null> =>\n this.request('GET', `/v1/wallets/agent/${agentId}/primary`),\n\n /** Get a specific wallet by ID. */\n get: (walletId: string): Promise<AgentWallet> =>\n this.request('GET', `/v1/wallets/${walletId}`),\n\n /** Create a new wallet for an agent. */\n create: (params: CreateWalletParams): Promise<AgentWallet> =>\n this.request('POST', '/v1/wallets', params),\n\n /** Get USDC and native token balance for a wallet. */\n balance: (walletId: string): Promise<WalletBalance> =>\n this.request('GET', `/v1/wallets/${walletId}/balance`),\n\n /** Deactivate a wallet. */\n deactivate: (walletId: string): Promise<void> =>\n this.request('DELETE', `/v1/wallets/${walletId}`),\n };\n }\n\n // ── SSE Streaming internals ───────────────────────────────────────────────\n\n private async *_streamAgentRun(params: RunParams): AsyncGenerator<StreamEvent> {\n const res = await this._fetch(`${this.baseUrl}/v1/agents/run/stream`, {\n method: 'POST',\n headers: this.headers(),\n body: JSON.stringify(params),\n });\n\n if (!res.ok) {\n const err = await res.json().catch(() => ({ message: res.statusText }));\n throw new CommonsError(err.message ?? res.statusText, res.status, err);\n }\n\n yield* this._parseEventStream(res);\n }\n\n private async *_streamSse(path: string): AsyncGenerator<StreamEvent> {\n const res = await this._fetch(`${this.baseUrl}${path}`, {\n method: 'GET',\n headers: this.headers({ Accept: 'text/event-stream' }),\n });\n\n if (!res.ok) {\n const err = await res.json().catch(() => ({ message: res.statusText }));\n throw new CommonsError(err.message ?? res.statusText, res.status, err);\n }\n\n yield* this._parseEventStream(res);\n }\n\n private async *_parseEventStream(res: Response): AsyncGenerator<StreamEvent> {\n if (!res.body) throw new Error('No response body');\n const reader = res.body.getReader();\n const decoder = new TextDecoder();\n let buffer = '';\n\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n buffer += decoder.decode(value, { stream: true });\n\n const lines = buffer.split('\\n');\n buffer = lines.pop() ?? '';\n\n for (const line of lines) {\n if (line.startsWith('data: ')) {\n const raw = line.slice(6).trim();\n if (raw === '[DONE]') return;\n try {\n const event = JSON.parse(raw) as StreamEvent;\n if (event.type !== 'heartbeat') yield event;\n if (event.type === 'final' || event.type === 'completed') return;\n } catch {\n // Ignore malformed lines\n }\n }\n }\n }\n }\n\n // ── A2A ───────────────────────────────────────────────────────────────────\n\n get a2a() {\n return {\n /** Fetch the A2A Agent Card for an agent. */\n getAgentCard: (agentId: string): Promise<AgentCard> =>\n this.request('GET', `/.well-known/agent.json?agentId=${agentId}`),\n\n /** Send a task to an agent (synchronous, waits for completion). */\n sendTask: (agentId: string, params: A2ASendTaskParams): Promise<A2ATask> =>\n this.request('POST', `/v1/a2a/${agentId}`, {\n jsonrpc: '2.0',\n id: params.id ?? `sdk-${Date.now()}`,\n method: 'tasks/send',\n params,\n }).then((r: any) => r.result as A2ATask),\n\n /** Get A2A task status. */\n getTask: (agentId: string, taskId: string): Promise<A2ATask> =>\n this.request('POST', `/v1/a2a/${agentId}`, {\n jsonrpc: '2.0', id: taskId, method: 'tasks/get', params: { id: taskId },\n }).then((r: any) => r.result as A2ATask),\n\n /** Cancel a running A2A task. */\n cancelTask: (agentId: string, taskId: string): Promise<A2ATask> =>\n this.request('POST', `/v1/a2a/${agentId}`, {\n jsonrpc: '2.0', id: taskId, method: 'tasks/cancel', params: { id: taskId },\n }).then((r: any) => r.result as A2ATask),\n\n /** List recent A2A tasks for an agent. */\n listTasks: (agentId: string, limit?: number): Promise<{ tasks: A2ATask[]; total: number }> =>\n this.request('GET', `/v1/a2a/${agentId}/tasks${limit ? `?limit=${limit}` : ''}`),\n\n /** Stream A2A task updates (SSE). */\n stream: (agentId: string, taskId: string): AsyncGenerator<StreamEvent> =>\n this._streamSse(`/v1/a2a/${agentId}/tasks/${taskId}/stream`),\n };\n }\n\n // ── MCP ───────────────────────────────────────────────────────────────────\n\n get mcp() {\n return {\n /** List MCP servers for an owner. */\n listServers: (ownerId: string, ownerType: 'user' | 'agent'): Promise<{ servers: McpServer[]; total: number }> =>\n this.request('GET', `/v1/mcp/servers?ownerId=${ownerId}&ownerType=${ownerType}`),\n\n /** Create a new MCP server. */\n createServer: (params: {\n name: string;\n description?: string;\n connectionType: McpConnectionType;\n connectionConfig: Record<string, any>;\n isPublic?: boolean;\n tags?: string[];\n ownerId: string;\n ownerType: 'user' | 'agent';\n }): Promise<McpServer> => {\n const { ownerId, ownerType, ...dto } = params;\n return this.request('POST', `/v1/mcp/servers?ownerId=${ownerId}&ownerType=${ownerType}`, dto);\n },\n\n /** Get MCP server by ID. */\n getServer: (serverId: string): Promise<McpServer> =>\n this.request('GET', `/v1/mcp/servers/${serverId}`),\n\n /** Delete an MCP server. */\n deleteServer: (serverId: string): Promise<void> =>\n this.request('DELETE', `/v1/mcp/servers/${serverId}`),\n\n /** Connect to an MCP server. */\n connect: (serverId: string): Promise<{ connected: boolean }> =>\n this.request('POST', `/v1/mcp/servers/${serverId}/connect`),\n\n /** Disconnect from an MCP server. */\n disconnect: (serverId: string): Promise<void> =>\n this.request('POST', `/v1/mcp/servers/${serverId}/disconnect`),\n\n /** Sync tools + resources + prompts from the MCP server. */\n sync: (serverId: string): Promise<{ toolsDiscovered: number; resourcesDiscovered: number; promptsDiscovered: number }> =>\n this.request('POST', `/v1/mcp/servers/${serverId}/sync`, {}),\n\n /** List tools discovered from an MCP server. */\n listTools: (serverId: string): Promise<{ tools: any[]; total: number }> =>\n this.request('GET', `/v1/mcp/servers/${serverId}/tools`),\n\n /** List all MCP tools across all servers for a given owner. */\n listToolsByOwner: (ownerId: string, ownerType: 'user' | 'agent'): Promise<{ tools: any[] }> =>\n this.request('GET', `/v1/mcp/tools?ownerId=${ownerId}&ownerType=${ownerType}`),\n\n /** List resources from an MCP server. */\n listResources: (serverId: string): Promise<{ resources: McpResource[]; total: number }> =>\n this.request('GET', `/v1/mcp/servers/${serverId}/resources`),\n\n /** Read a resource by URI. */\n readResource: (serverId: string, uri: string): Promise<{ uri: string; contents: any }> =>\n this.request('GET', `/v1/mcp/servers/${serverId}/resources/read?uri=${encodeURIComponent(uri)}`),\n\n /** List prompts from an MCP server. */\n listPrompts: (serverId: string): Promise<{ prompts: McpPrompt[]; total: number }> =>\n this.request('GET', `/v1/mcp/servers/${serverId}/prompts`),\n\n /** Render a prompt with arguments. */\n getPrompt: (serverId: string, promptName: string, args?: Record<string, string>): Promise<{ description?: string; messages: any[] }> =>\n this.request('POST', `/v1/mcp/servers/${serverId}/prompts/${promptName}`, { arguments: args }),\n };\n }\n\n // ── Memory ────────────────────────────────────────────────────────────────\n\n get memory() {\n return {\n /** List all memories for an agent. */\n list: (\n agentId: string,\n opts?: { type?: MemoryType; limit?: number },\n ): Promise<{ data: AgentMemory[] }> => {\n const params = new URLSearchParams();\n if (opts?.type) params.set('type', opts.type);\n if (opts?.limit) params.set('limit', String(opts.limit));\n const qs = params.toString();\n return this.request('GET', `/v1/memory/agents/${agentId}${qs ? `?${qs}` : ''}`);\n },\n\n /** Get memory stats for an agent. */\n stats: (agentId: string): Promise<{ data: MemoryStats }> =>\n this.request('GET', `/v1/memory/agents/${agentId}/stats`),\n\n /** Retrieve memories most relevant to a query. */\n retrieve: (\n agentId: string,\n query: string,\n limit?: number,\n ): Promise<{ data: AgentMemory[] }> => {\n const params = new URLSearchParams({ q: query });\n if (limit) params.set('limit', String(limit));\n return this.request('GET', `/v1/memory/agents/${agentId}/retrieve?${params}`);\n },\n\n /** Get a single memory by ID. */\n get: (memoryId: string): Promise<{ data: AgentMemory }> =>\n this.request('GET', `/v1/memory/${memoryId}`),\n\n /** Manually create a memory. */\n create: (params: CreateMemoryParams): Promise<{ data: AgentMemory }> =>\n this.request('POST', '/v1/memory', params),\n\n /** Update a memory. */\n update: (memoryId: string, params: UpdateMemoryParams): Promise<{ data: AgentMemory }> =>\n this.request('PATCH', `/v1/memory/${memoryId}`, params),\n\n /** Soft-delete (deactivate) a memory. */\n delete: (memoryId: string): Promise<void> =>\n this.request('DELETE', `/v1/memory/${memoryId}`),\n };\n }\n\n // ── Usage / Observability ─────────────────────────────────────────────────\n\n get usage() {\n return {\n /** Get aggregated token + cost usage for an agent. */\n getAgentUsage: (\n agentId: string,\n opts?: { from?: string; to?: string },\n ): Promise<{ data: UsageAggregation }> => {\n const params = new URLSearchParams();\n if (opts?.from) params.set('from', opts.from);\n if (opts?.to) params.set('to', opts.to);\n const qs = params.toString();\n return this.request('GET', `/v1/usage/agents/${agentId}${qs ? `?${qs}` : ''}`);\n },\n\n /** Get aggregated token + cost usage for a session. */\n getSessionUsage: (sessionId: string): Promise<{ data: UsageAggregation }> =>\n this.request('GET', `/v1/usage/sessions/${sessionId}`),\n };\n }\n}\n\n// ─── Error ────────────────────────────────────────────────────────────────────\n\nexport class CommonsError extends Error {\n constructor(\n message: string,\n public readonly status: number,\n public readonly data?: unknown,\n ) {\n super(message);\n this.name = 'CommonsError';\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/index.ts","../src/client.ts"],"sourcesContent":["export { CommonsClient, CommonsError } from './client';\nexport type {\n Agent, CreateAgentParams,\n Session,\n ModelConfig, ModelProvider,\n RunParams, ChatMessage, StreamEvent, StreamEventType,\n Workflow, WorkflowDefinition, WorkflowNode, WorkflowNodeType, WorkflowEdge, WorkflowExecution,\n Task, CreateTaskParams,\n Tool, CreateToolParams,\n ToolKey, CreateToolKeyParams,\n ToolPermission,\n // A2A\n A2ATaskState, A2AMessage, A2AMessagePart, A2ATextPart, A2ADataPart, A2AFilePart,\n A2ATask, A2AArtifact, A2ASkill, AgentCard, A2ASendTaskParams,\n // MCP\n McpConnectionType, McpServer, McpResource, McpPrompt,\n // Skills\n Skill, SkillIndex, CreateSkillParams,\n // Memory\n AgentMemory, MemoryStats, MemoryType, MemorySourceType,\n CreateMemoryParams, UpdateMemoryParams,\n // Usage\n UsageEvent, UsageAggregation,\n // Wallet\n AgentWallet, WalletBalance, CreateWalletParams, WalletType,\n // API Keys\n ApiKey, CreatedApiKey, CreateApiKeyParams, ApiKeyPrincipalType,\n CommonsClientConfig,\n} from './types';\n","import {\n Agent, CreateAgentParams,\n RunParams, StreamEvent,\n Workflow, WorkflowExecution,\n Task, CreateTaskParams,\n Tool, CreateToolParams,\n ToolKey, CreateToolKeyParams,\n ToolPermission,\n CommonsClientConfig,\n AgentCard, A2ATask, A2ASendTaskParams,\n McpServer, McpResource, McpPrompt, McpConnectionType,\n Skill, SkillIndex, CreateSkillParams,\n UsageAggregation,\n AgentMemory, MemoryStats, MemoryType,\n CreateMemoryParams, UpdateMemoryParams,\n AgentWallet, WalletBalance, CreateWalletParams,\n ApiKey, CreatedApiKey, CreateApiKeyParams, ApiKeyPrincipalType,\n} from './types';\n\nexport class CommonsClient {\n private readonly baseUrl: string;\n private readonly apiKey?: string;\n private readonly initiator?: string;\n private readonly _fetch: typeof fetch;\n\n constructor(config: CommonsClientConfig) {\n this.baseUrl = config.baseUrl.replace(/\\/$/, '');\n this.apiKey = config.apiKey;\n this.initiator = config.initiator;\n this._fetch = config.fetch ?? fetch;\n }\n\n // ── Helpers ───────────────────────────────────────────────────────────────\n\n private headers(extra?: Record<string, string>): Record<string, string> {\n const h: Record<string, string> = { 'Content-Type': 'application/json' };\n if (this.apiKey) h['Authorization'] = `Bearer ${this.apiKey}`;\n if (this.initiator) h['x-initiator'] = this.initiator;\n return { ...h, ...extra };\n }\n\n private async request<T>(method: string, path: string, body?: unknown): Promise<T> {\n const res = await this._fetch(`${this.baseUrl}${path}`, {\n method,\n headers: this.headers(),\n body: body !== undefined ? JSON.stringify(body) : undefined,\n });\n if (!res.ok) {\n const err = await res.json().catch(() => ({ message: res.statusText }));\n throw new CommonsError(err.message ?? res.statusText, res.status, err);\n }\n return res.json() as Promise<T>;\n }\n\n // ── Models ────────────────────────────────────────────────────────────────\n\n get models() {\n return {\n /** List all available LLM models from the registry */\n list: (): Promise<{ data: any[]; grouped: Record<string, any[]> }> =>\n this.request('GET', '/v1/models'),\n };\n }\n\n // ── Agents ────────────────────────────────────────────────────────────────\n\n get agents() {\n return {\n create: (params: CreateAgentParams): Promise<{ data: Agent }> =>\n this.request('POST', '/v1/agents', params),\n\n list: (owner?: string): Promise<{ data: Agent[] }> =>\n this.request('GET', `/v1/agents${owner ? `?owner=${owner}` : ''}`),\n\n get: (agentId: string): Promise<{ data: Agent }> =>\n this.request('GET', `/v1/agents/${agentId}`),\n\n update: (agentId: string, params: Partial<CreateAgentParams>): Promise<{ data: Agent }> =>\n this.request('PUT', `/v1/agents/${agentId}`, params),\n\n /** List tools assigned to an agent. */\n listTools: (agentId: string): Promise<{ data: any[] }> =>\n this.request('GET', `/v1/agents/${agentId}/tools`),\n\n /** Assign a tool to an agent. */\n addTool: (agentId: string, params: { toolId: string; usageComments?: string }): Promise<{ data: any }> =>\n this.request('POST', `/v1/agents/${agentId}/tools`, params),\n\n /** Remove a tool assignment from an agent. */\n removeTool: (assignmentId: string): Promise<void> =>\n this.request('DELETE', `/v1/agents/tools/${assignmentId}`),\n\n /** Create a liaison agent for an external agent. */\n createLiaison: (params: Record<string, any>): Promise<any> =>\n this.request('POST', '/v1/liaison', params),\n\n /**\n * Stream an agent run. Returns an async generator of StreamEvents.\n * Works in Node.js, browsers, and Edge runtimes.\n *\n * @example\n * for await (const event of client.agents.stream({ agentId, messages })) {\n * if (event.type === 'token') process.stdout.write(event.content ?? '');\n * }\n */\n stream: (params: RunParams): AsyncGenerator<StreamEvent> =>\n this._streamAgentRun(params),\n\n // ── Autonomy / Heartbeat ─────────────────────────────────────────────\n\n /** Get the current heartbeat/autonomy status for an agent. */\n getAutonomy: (agentId: string): Promise<{\n data: {\n enabled: boolean;\n intervalSec: number;\n isArmed: boolean;\n lastBeatAt: string | null;\n nextBeatAt: string | null;\n };\n }> => this.request('GET', `/v1/agents/${agentId}/autonomy`),\n\n /** Enable or disable the heartbeat, optionally setting the interval. */\n setAutonomy: (\n agentId: string,\n params: { enabled: boolean; intervalSec?: number },\n ): Promise<{ data: { enabled: boolean; intervalSec: number; isArmed: boolean } }> =>\n this.request('PUT', `/v1/agents/${agentId}/autonomy`, params),\n\n /** Trigger a single heartbeat beat immediately. */\n triggerHeartbeat: (agentId: string): Promise<{ message: string }> =>\n this.request('POST', `/v1/agents/${agentId}/autonomy/trigger`),\n };\n }\n\n // ── Run (non-streaming) ───────────────────────────────────────────────────\n\n get run() {\n return {\n once: (params: RunParams): Promise<any> =>\n this.request('POST', '/v1/agents/run', params),\n };\n }\n\n // ── Workflows ─────────────────────────────────────────────────────────────\n\n get workflows() {\n return {\n create: (params: {\n name: string;\n description?: string;\n definition: any;\n ownerId: string;\n ownerType: 'user' | 'agent';\n isPublic?: boolean;\n category?: string;\n tags?: string[];\n }): Promise<Workflow> => this.request('POST', '/v1/workflows', params),\n\n list: (ownerId: string, ownerType: 'user' | 'agent'): Promise<Workflow[]> =>\n this.request('GET', `/v1/workflows?ownerId=${ownerId}&ownerType=${ownerType}`),\n\n get: (workflowId: string): Promise<Workflow> =>\n this.request('GET', `/v1/workflows/${workflowId}`),\n\n update: (workflowId: string, updates: Partial<Workflow>): Promise<Workflow> =>\n this.request('PUT', `/v1/workflows/${workflowId}`, updates),\n\n delete: (workflowId: string): Promise<{ success: boolean }> =>\n this.request('DELETE', `/v1/workflows/${workflowId}`),\n\n execute: (workflowId: string, params: {\n agentId?: string;\n sessionId?: string;\n inputData?: Record<string, any>;\n userId?: string;\n }): Promise<WorkflowExecution> =>\n this.request('POST', `/v1/workflows/${workflowId}/execute`, params),\n\n getExecution: (workflowId: string, executionId: string): Promise<WorkflowExecution> =>\n this.request('GET', `/v1/workflows/${workflowId}/executions/${executionId}`),\n\n listExecutions: (workflowId: string, limit?: number): Promise<WorkflowExecution[]> =>\n this.request('GET', `/v1/workflows/${workflowId}/executions${limit ? `?limit=${limit}` : ''}`),\n\n cancelExecution: (workflowId: string, executionId: string): Promise<{ success: boolean }> =>\n this.request('POST', `/v1/workflows/${workflowId}/executions/${executionId}/cancel`),\n\n /** Approve a paused human_approval node and resume execution. */\n approveExecution: (workflowId: string, executionId: string, params: {\n approvalToken: string;\n approvalData?: Record<string, any>;\n }): Promise<{ success: boolean; executionId: string; action: string }> =>\n this.request('POST', `/v1/workflows/${workflowId}/executions/${executionId}/approve`, params),\n\n /** Reject a paused human_approval node and terminate execution. */\n rejectExecution: (workflowId: string, executionId: string, params: {\n approvalToken: string;\n reason?: string;\n }): Promise<{ success: boolean; executionId: string; action: string }> =>\n this.request('POST', `/v1/workflows/${workflowId}/executions/${executionId}/reject`, params),\n\n /** Stream execution progress via SSE. Returns an async generator. */\n stream: (workflowId: string, executionId: string): AsyncGenerator<StreamEvent> =>\n this._streamSse(`/v1/workflows/${workflowId}/executions/${executionId}/stream`),\n };\n }\n\n // ── Tasks ─────────────────────────────────────────────────────────────────\n\n get tasks() {\n return {\n create: (params: CreateTaskParams): Promise<{ data: Task }> =>\n this.request('POST', '/v1/tasks', params),\n\n list: (filter: { sessionId?: string; agentId?: string; ownerId?: string; ownerType?: 'user' | 'agent' }): Promise<{ data: Task[] }> => {\n const q = new URLSearchParams(filter as any).toString();\n return this.request('GET', `/v1/tasks?${q}`);\n },\n\n get: (taskId: string): Promise<{ data: Task }> =>\n this.request('GET', `/v1/tasks/${taskId}`),\n\n execute: (taskId: string): Promise<{ success: boolean; data: any }> =>\n this.request('POST', `/v1/tasks/${taskId}/execute`),\n\n cancel: (taskId: string): Promise<{ success: boolean }> =>\n this.request('POST', `/v1/tasks/${taskId}/cancel`),\n\n delete: (taskId: string): Promise<{ success: boolean }> =>\n this.request('DELETE', `/v1/tasks/${taskId}`),\n\n /** Stream task status updates via SSE. Returns an async generator. */\n stream: (taskId: string): AsyncGenerator<StreamEvent> =>\n this._streamSse(`/v1/tasks/${taskId}/stream`),\n };\n }\n\n // ── Sessions ──────────────────────────────────────────────────────────────\n\n get sessions() {\n return {\n list: (agentId: string, initiatorId: string): Promise<{ data: import('./types').Session[] }> =>\n this.request('GET', `/v1/sessions/list/${agentId}/${initiatorId}`),\n\n /** List all sessions for a user across all agents. */\n listByUser: (initiator: string): Promise<{ data: import('./types').Session[] }> =>\n this.request('GET', `/v1/sessions/user/${encodeURIComponent(initiator)}`),\n\n create: (params: {\n agentId: string;\n initiator: string;\n title?: string;\n model?: Record<string, any>;\n }): Promise<{ data: import('./types').Session }> =>\n this.request('POST', '/v1/sessions', params),\n\n get: (sessionId: string): Promise<{ data: import('./types').Session }> =>\n this.request('GET', `/v1/sessions/${sessionId}`),\n\n /** Get full session with history, tasks, childSessions, and spaces. */\n getFull: (sessionId: string): Promise<{ data: any }> =>\n this.request('GET', `/v1/sessions/${sessionId}/full`),\n };\n }\n\n // ── Tools ─────────────────────────────────────────────────────────────────\n\n get tools() {\n return {\n list: (filter?: { agentId?: string; owner?: string; ownerType?: string; visibility?: string }): Promise<{ data: Tool[] }> => {\n const q = filter ? new URLSearchParams(filter as any).toString() : '';\n return this.request('GET', `/v1/tools${q ? `?${q}` : ''}`);\n },\n\n get: (toolId: string): Promise<{ data: Tool }> =>\n this.request('GET', `/v1/tools/${toolId}`),\n\n create: (params: CreateToolParams): Promise<{ data: Tool }> =>\n this.request('POST', '/v1/tools', params),\n\n update: (toolId: string, params: Partial<CreateToolParams>): Promise<{ data: Tool }> =>\n this.request('PUT', `/v1/tools/${toolId}`, params),\n\n delete: (toolId: string): Promise<{ success: boolean }> =>\n this.request('DELETE', `/v1/tools/${toolId}`),\n\n /** List built-in static tools available to all agents. */\n listStatic: (): Promise<{ data: Tool[] }> =>\n this.request('GET', '/v1/tools/static'),\n };\n }\n\n // ── Tool Keys ─────────────────────────────────────────────────────────────\n\n get toolKeys() {\n return {\n list: (filter: { ownerId?: string; ownerType?: string; toolId?: string }): Promise<{ success: boolean; data: ToolKey[] }> => {\n const q = new URLSearchParams(filter as any).toString();\n return this.request('GET', `/v1/tool-keys${q ? `?${q}` : ''}`);\n },\n\n create: (params: CreateToolKeyParams): Promise<{ success: boolean; data: ToolKey }> =>\n this.request('POST', '/v1/tool-keys', params),\n\n delete: (keyId: string): Promise<{ success: boolean }> =>\n this.request('DELETE', `/v1/tool-keys/${keyId}`),\n };\n }\n\n // ── Tool Permissions ──────────────────────────────────────────────────────\n\n get toolPermissions() {\n return {\n list: (toolId?: string): Promise<{ success: boolean; data: ToolPermission[] }> => {\n const q = toolId ? `?toolId=${toolId}` : '';\n return this.request('GET', `/v1/tool-permissions${q}`);\n },\n\n grant: (params: {\n toolId: string;\n subjectId: string;\n subjectType: 'user' | 'agent';\n permission: 'read' | 'execute' | 'admin';\n grantedBy?: string;\n }): Promise<{ success: boolean; data: ToolPermission }> =>\n this.request('POST', '/v1/tool-permissions/grant', params),\n\n revoke: (permissionId: string): Promise<{ success: boolean }> =>\n this.request('DELETE', `/v1/tool-permissions/revoke/${permissionId}`),\n };\n }\n\n // ── Skills ────────────────────────────────────────────────────────────────\n\n get skills() {\n return {\n list: (filter?: { ownerId?: string; ownerType?: string; isPublic?: boolean }): Promise<{ data: Skill[] }> => {\n const params = new URLSearchParams();\n if (filter?.ownerId) params.set('ownerId', filter.ownerId);\n if (filter?.ownerType) params.set('ownerType', filter.ownerType);\n if (filter?.isPublic !== undefined) params.set('isPublic', String(filter.isPublic));\n const qs = params.toString();\n return this.request('GET', `/v1/skills${qs ? `?${qs}` : ''}`);\n },\n\n get: (skillIdOrSlug: string): Promise<{ data: Skill }> =>\n this.request('GET', `/v1/skills/${skillIdOrSlug}`),\n\n getIndex: (ownerId?: string): Promise<{ data: SkillIndex[] }> => {\n const qs = ownerId ? `?ownerId=${ownerId}` : '';\n return this.request('GET', `/v1/skills/index${qs}`);\n },\n\n create: (params: CreateSkillParams): Promise<{ data: Skill }> =>\n this.request('POST', '/v1/skills', params),\n\n update: (skillIdOrSlug: string, updates: Partial<CreateSkillParams>): Promise<{ data: Skill }> =>\n this.request('PUT', `/v1/skills/${skillIdOrSlug}`, updates),\n\n delete: (skillIdOrSlug: string): Promise<{ deleted: boolean }> =>\n this.request('DELETE', `/v1/skills/${skillIdOrSlug}`),\n };\n }\n\n // ── Wallets ───────────────────────────────────────────────────────────────\n\n get wallets() {\n return {\n /** List all wallets for an agent. */\n list: (agentId: string): Promise<AgentWallet[]> =>\n this.request('GET', `/v1/wallets/agent/${agentId}`),\n\n /** Get the primary active wallet for an agent. */\n primary: (agentId: string): Promise<AgentWallet | null> =>\n this.request('GET', `/v1/wallets/agent/${agentId}/primary`),\n\n /** Get a specific wallet by ID. */\n get: (walletId: string): Promise<AgentWallet> =>\n this.request('GET', `/v1/wallets/${walletId}`),\n\n /** Create a new wallet for an agent. */\n create: (params: CreateWalletParams): Promise<AgentWallet> =>\n this.request('POST', '/v1/wallets', params),\n\n /** Get USDC and native token balance for a wallet. */\n balance: (walletId: string): Promise<WalletBalance> =>\n this.request('GET', `/v1/wallets/${walletId}/balance`),\n\n /** Transfer USDC or ETH to another address. */\n transfer: (\n walletId: string,\n params: { toAddress: string; amount: string; tokenSymbol?: 'USDC' | 'ETH' },\n ): Promise<{ txHash: string }> =>\n this.request('POST', `/v1/wallets/${walletId}/transfer`, params),\n\n /**\n * Proxy an HTTP request through an agent's primary wallet, automatically\n * handling x402 payment challenges. The wallet signs the payment and\n * retries once if the target responds with HTTP 402.\n */\n x402Fetch: (\n agentId: string,\n params: {\n url: string;\n method?: string;\n headers?: Record<string, string>;\n body?: string;\n },\n ): Promise<{ status: number; body: unknown }> =>\n this.request('POST', `/v1/wallets/agent/${agentId}/x402-fetch`, params),\n\n /** Deactivate a wallet. */\n deactivate: (walletId: string): Promise<void> =>\n this.request('DELETE', `/v1/wallets/${walletId}`),\n };\n }\n\n // ── API Keys ──────────────────────────────────────────────────────────────\n\n get apiKeys() {\n return {\n /**\n * Generate a new API key for a principal (user or agent).\n * The plaintext key is returned only in this response — never again.\n */\n create: (params: CreateApiKeyParams): Promise<CreatedApiKey> =>\n this.request('POST', '/v1/auth/api-keys', params),\n\n /** List all active API keys for a principal (key values not included). */\n list: (principalId: string, principalType: ApiKeyPrincipalType): Promise<ApiKey[]> => {\n const q = new URLSearchParams({ principalId, principalType }).toString();\n return this.request('GET', `/v1/auth/api-keys?${q}`);\n },\n\n /** Revoke (soft-delete) an API key by its UUID. */\n revoke: (id: string): Promise<{ revoked: boolean }> =>\n this.request('DELETE', `/v1/auth/api-keys/${id}`),\n };\n }\n\n // ── SSE Streaming internals ───────────────────────────────────────────────\n\n private async *_streamAgentRun(params: RunParams): AsyncGenerator<StreamEvent> {\n const res = await this._fetch(`${this.baseUrl}/v1/agents/run/stream`, {\n method: 'POST',\n headers: this.headers(),\n body: JSON.stringify(params),\n });\n\n if (!res.ok) {\n const err = await res.json().catch(() => ({ message: res.statusText }));\n throw new CommonsError(err.message ?? res.statusText, res.status, err);\n }\n\n yield* this._parseEventStream(res);\n }\n\n private async *_streamSse(path: string): AsyncGenerator<StreamEvent> {\n const res = await this._fetch(`${this.baseUrl}${path}`, {\n method: 'GET',\n headers: this.headers({ Accept: 'text/event-stream' }),\n });\n\n if (!res.ok) {\n const err = await res.json().catch(() => ({ message: res.statusText }));\n throw new CommonsError(err.message ?? res.statusText, res.status, err);\n }\n\n yield* this._parseEventStream(res);\n }\n\n private async *_parseEventStream(res: Response): AsyncGenerator<StreamEvent> {\n if (!res.body) throw new Error('No response body');\n const reader = res.body.getReader();\n const decoder = new TextDecoder();\n let buffer = '';\n\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n buffer += decoder.decode(value, { stream: true });\n\n const lines = buffer.split('\\n');\n buffer = lines.pop() ?? '';\n\n for (const line of lines) {\n if (line.startsWith('data: ')) {\n const raw = line.slice(6).trim();\n if (raw === '[DONE]') return;\n try {\n const event = JSON.parse(raw) as StreamEvent;\n if (event.type !== 'heartbeat') yield event;\n if (event.type === 'final' || event.type === 'completed') return;\n } catch {\n // Ignore malformed lines\n }\n }\n }\n }\n }\n\n // ── A2A ───────────────────────────────────────────────────────────────────\n\n get a2a() {\n return {\n /** Fetch the A2A Agent Card for an agent. */\n getAgentCard: (agentId: string): Promise<AgentCard> =>\n this.request('GET', `/.well-known/agent.json?agentId=${agentId}`),\n\n /** Send a task to an agent (synchronous, waits for completion). */\n sendTask: (agentId: string, params: A2ASendTaskParams): Promise<A2ATask> =>\n this.request('POST', `/v1/a2a/${agentId}`, {\n jsonrpc: '2.0',\n id: params.id ?? `sdk-${Date.now()}`,\n method: 'tasks/send',\n params,\n }).then((r: any) => r.result as A2ATask),\n\n /** Get A2A task status. */\n getTask: (agentId: string, taskId: string): Promise<A2ATask> =>\n this.request('POST', `/v1/a2a/${agentId}`, {\n jsonrpc: '2.0', id: taskId, method: 'tasks/get', params: { id: taskId },\n }).then((r: any) => r.result as A2ATask),\n\n /** Cancel a running A2A task. */\n cancelTask: (agentId: string, taskId: string): Promise<A2ATask> =>\n this.request('POST', `/v1/a2a/${agentId}`, {\n jsonrpc: '2.0', id: taskId, method: 'tasks/cancel', params: { id: taskId },\n }).then((r: any) => r.result as A2ATask),\n\n /** List recent A2A tasks for an agent. */\n listTasks: (agentId: string, limit?: number): Promise<{ tasks: A2ATask[]; total: number }> =>\n this.request('GET', `/v1/a2a/${agentId}/tasks${limit ? `?limit=${limit}` : ''}`),\n\n /** Stream A2A task updates (SSE). */\n stream: (agentId: string, taskId: string): AsyncGenerator<StreamEvent> =>\n this._streamSse(`/v1/a2a/${agentId}/tasks/${taskId}/stream`),\n };\n }\n\n // ── MCP ───────────────────────────────────────────────────────────────────\n\n get mcp() {\n return {\n /** List MCP servers for an owner. */\n listServers: (ownerId: string, ownerType: 'user' | 'agent'): Promise<{ servers: McpServer[]; total: number }> =>\n this.request('GET', `/v1/mcp/servers?ownerId=${ownerId}&ownerType=${ownerType}`),\n\n /** Create a new MCP server. */\n createServer: (params: {\n name: string;\n description?: string;\n connectionType: McpConnectionType;\n connectionConfig: Record<string, any>;\n isPublic?: boolean;\n tags?: string[];\n ownerId: string;\n ownerType: 'user' | 'agent';\n }): Promise<McpServer> => {\n const { ownerId, ownerType, ...dto } = params;\n return this.request('POST', `/v1/mcp/servers?ownerId=${ownerId}&ownerType=${ownerType}`, dto);\n },\n\n /** Get MCP server by ID. */\n getServer: (serverId: string): Promise<McpServer> =>\n this.request('GET', `/v1/mcp/servers/${serverId}`),\n\n /** Delete an MCP server. */\n deleteServer: (serverId: string): Promise<void> =>\n this.request('DELETE', `/v1/mcp/servers/${serverId}`),\n\n /** Connect to an MCP server. */\n connect: (serverId: string): Promise<{ connected: boolean }> =>\n this.request('POST', `/v1/mcp/servers/${serverId}/connect`),\n\n /** Disconnect from an MCP server. */\n disconnect: (serverId: string): Promise<void> =>\n this.request('POST', `/v1/mcp/servers/${serverId}/disconnect`),\n\n /** Sync tools + resources + prompts from the MCP server. */\n sync: (serverId: string): Promise<{ toolsDiscovered: number; resourcesDiscovered: number; promptsDiscovered: number }> =>\n this.request('POST', `/v1/mcp/servers/${serverId}/sync`, {}),\n\n /** List tools discovered from an MCP server. */\n listTools: (serverId: string): Promise<{ tools: any[]; total: number }> =>\n this.request('GET', `/v1/mcp/servers/${serverId}/tools`),\n\n /** List all MCP tools across all servers for a given owner. */\n listToolsByOwner: (ownerId: string, ownerType: 'user' | 'agent'): Promise<{ tools: any[] }> =>\n this.request('GET', `/v1/mcp/tools?ownerId=${ownerId}&ownerType=${ownerType}`),\n\n /** List resources from an MCP server. */\n listResources: (serverId: string): Promise<{ resources: McpResource[]; total: number }> =>\n this.request('GET', `/v1/mcp/servers/${serverId}/resources`),\n\n /** Read a resource by URI. */\n readResource: (serverId: string, uri: string): Promise<{ uri: string; contents: any }> =>\n this.request('GET', `/v1/mcp/servers/${serverId}/resources/read?uri=${encodeURIComponent(uri)}`),\n\n /** List prompts from an MCP server. */\n listPrompts: (serverId: string): Promise<{ prompts: McpPrompt[]; total: number }> =>\n this.request('GET', `/v1/mcp/servers/${serverId}/prompts`),\n\n /** Render a prompt with arguments. */\n getPrompt: (serverId: string, promptName: string, args?: Record<string, string>): Promise<{ description?: string; messages: any[] }> =>\n this.request('POST', `/v1/mcp/servers/${serverId}/prompts/${promptName}`, { arguments: args }),\n };\n }\n\n // ── Memory ────────────────────────────────────────────────────────────────\n\n get memory() {\n return {\n /** List all memories for an agent. */\n list: (\n agentId: string,\n opts?: { type?: MemoryType; limit?: number },\n ): Promise<{ data: AgentMemory[] }> => {\n const params = new URLSearchParams();\n if (opts?.type) params.set('type', opts.type);\n if (opts?.limit) params.set('limit', String(opts.limit));\n const qs = params.toString();\n return this.request('GET', `/v1/memory/agents/${agentId}${qs ? `?${qs}` : ''}`);\n },\n\n /** Get memory stats for an agent. */\n stats: (agentId: string): Promise<{ data: MemoryStats }> =>\n this.request('GET', `/v1/memory/agents/${agentId}/stats`),\n\n /** Retrieve memories most relevant to a query. */\n retrieve: (\n agentId: string,\n query: string,\n limit?: number,\n ): Promise<{ data: AgentMemory[] }> => {\n const params = new URLSearchParams({ q: query });\n if (limit) params.set('limit', String(limit));\n return this.request('GET', `/v1/memory/agents/${agentId}/retrieve?${params}`);\n },\n\n /** Get a single memory by ID. */\n get: (memoryId: string): Promise<{ data: AgentMemory }> =>\n this.request('GET', `/v1/memory/${memoryId}`),\n\n /** Manually create a memory. */\n create: (params: CreateMemoryParams): Promise<{ data: AgentMemory }> =>\n this.request('POST', '/v1/memory', params),\n\n /** Update a memory. */\n update: (memoryId: string, params: UpdateMemoryParams): Promise<{ data: AgentMemory }> =>\n this.request('PATCH', `/v1/memory/${memoryId}`, params),\n\n /** Soft-delete (deactivate) a memory. */\n delete: (memoryId: string): Promise<void> =>\n this.request('DELETE', `/v1/memory/${memoryId}`),\n };\n }\n\n // ── Usage / Observability ─────────────────────────────────────────────────\n\n get usage() {\n return {\n /** Get aggregated token + cost usage for an agent. */\n getAgentUsage: (\n agentId: string,\n opts?: { from?: string; to?: string },\n ): Promise<{ data: UsageAggregation }> => {\n const params = new URLSearchParams();\n if (opts?.from) params.set('from', opts.from);\n if (opts?.to) params.set('to', opts.to);\n const qs = params.toString();\n return this.request('GET', `/v1/usage/agents/${agentId}${qs ? `?${qs}` : ''}`);\n },\n\n /** Get aggregated token + cost usage for a session. */\n getSessionUsage: (sessionId: string): Promise<{ data: UsageAggregation }> =>\n this.request('GET', `/v1/usage/sessions/${sessionId}`),\n };\n }\n}\n\n// ─── Error ────────────────────────────────────────────────────────────────────\n\nexport class CommonsError extends Error {\n constructor(\n message: string,\n public readonly status: number,\n public readonly data?: unknown,\n ) {\n super(message);\n this.name = 'CommonsError';\n }\n}\n"],"mappings":"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","names":[]}
package/dist/index.d.mts CHANGED
@@ -133,7 +133,7 @@ interface Task {
133
133
  sessionId: string;
134
134
  title: string;
135
135
  description?: string;
136
- status: 'pending' | 'running' | 'completed' | 'failed' | 'cancelled';
136
+ status: 'pending' | 'started' | 'running' | 'completed' | 'failed' | 'cancelled';
137
137
  executionMode: 'single' | 'workflow' | 'sequential';
138
138
  workflowId?: string;
139
139
  cronExpression?: string;
@@ -482,6 +482,25 @@ interface CreateWalletParams {
482
482
  externalAddress?: string;
483
483
  chainId?: string;
484
484
  }
485
+ type ApiKeyPrincipalType = 'user' | 'agent';
486
+ interface ApiKey {
487
+ id: string;
488
+ label?: string | null;
489
+ principalId: string;
490
+ principalType: ApiKeyPrincipalType;
491
+ active: boolean;
492
+ createdAt: string;
493
+ lastUsedAt?: string | null;
494
+ }
495
+ interface CreateApiKeyParams {
496
+ principalId: string;
497
+ principalType: ApiKeyPrincipalType;
498
+ label?: string;
499
+ }
500
+ /** Returned only on creation — the plaintext key is never available again. */
501
+ interface CreatedApiKey extends ApiKey {
502
+ key: string;
503
+ }
485
504
 
486
505
  declare class CommonsClient {
487
506
  private readonly baseUrl;
@@ -491,6 +510,13 @@ declare class CommonsClient {
491
510
  constructor(config: CommonsClientConfig);
492
511
  private headers;
493
512
  private request;
513
+ get models(): {
514
+ /** List all available LLM models from the registry */
515
+ list: () => Promise<{
516
+ data: any[];
517
+ grouped: Record<string, any[]>;
518
+ }>;
519
+ };
494
520
  get agents(): {
495
521
  create: (params: CreateAgentParams) => Promise<{
496
522
  data: Agent;
@@ -529,6 +555,31 @@ declare class CommonsClient {
529
555
  * }
530
556
  */
531
557
  stream: (params: RunParams) => AsyncGenerator<StreamEvent>;
558
+ /** Get the current heartbeat/autonomy status for an agent. */
559
+ getAutonomy: (agentId: string) => Promise<{
560
+ data: {
561
+ enabled: boolean;
562
+ intervalSec: number;
563
+ isArmed: boolean;
564
+ lastBeatAt: string | null;
565
+ nextBeatAt: string | null;
566
+ };
567
+ }>;
568
+ /** Enable or disable the heartbeat, optionally setting the interval. */
569
+ setAutonomy: (agentId: string, params: {
570
+ enabled: boolean;
571
+ intervalSec?: number;
572
+ }) => Promise<{
573
+ data: {
574
+ enabled: boolean;
575
+ intervalSec: number;
576
+ isArmed: boolean;
577
+ };
578
+ }>;
579
+ /** Trigger a single heartbeat beat immediately. */
580
+ triggerHeartbeat: (agentId: string) => Promise<{
581
+ message: string;
582
+ }>;
532
583
  };
533
584
  get run(): {
534
585
  once: (params: RunParams) => Promise<any>;
@@ -614,6 +665,10 @@ declare class CommonsClient {
614
665
  list: (agentId: string, initiatorId: string) => Promise<{
615
666
  data: Session[];
616
667
  }>;
668
+ /** List all sessions for a user across all agents. */
669
+ listByUser: (initiator: string) => Promise<{
670
+ data: Session[];
671
+ }>;
617
672
  create: (params: {
618
673
  agentId: string;
619
674
  initiator: string;
@@ -727,9 +782,44 @@ declare class CommonsClient {
727
782
  create: (params: CreateWalletParams) => Promise<AgentWallet>;
728
783
  /** Get USDC and native token balance for a wallet. */
729
784
  balance: (walletId: string) => Promise<WalletBalance>;
785
+ /** Transfer USDC or ETH to another address. */
786
+ transfer: (walletId: string, params: {
787
+ toAddress: string;
788
+ amount: string;
789
+ tokenSymbol?: "USDC" | "ETH";
790
+ }) => Promise<{
791
+ txHash: string;
792
+ }>;
793
+ /**
794
+ * Proxy an HTTP request through an agent's primary wallet, automatically
795
+ * handling x402 payment challenges. The wallet signs the payment and
796
+ * retries once if the target responds with HTTP 402.
797
+ */
798
+ x402Fetch: (agentId: string, params: {
799
+ url: string;
800
+ method?: string;
801
+ headers?: Record<string, string>;
802
+ body?: string;
803
+ }) => Promise<{
804
+ status: number;
805
+ body: unknown;
806
+ }>;
730
807
  /** Deactivate a wallet. */
731
808
  deactivate: (walletId: string) => Promise<void>;
732
809
  };
810
+ get apiKeys(): {
811
+ /**
812
+ * Generate a new API key for a principal (user or agent).
813
+ * The plaintext key is returned only in this response — never again.
814
+ */
815
+ create: (params: CreateApiKeyParams) => Promise<CreatedApiKey>;
816
+ /** List all active API keys for a principal (key values not included). */
817
+ list: (principalId: string, principalType: ApiKeyPrincipalType) => Promise<ApiKey[]>;
818
+ /** Revoke (soft-delete) an API key by its UUID. */
819
+ revoke: (id: string) => Promise<{
820
+ revoked: boolean;
821
+ }>;
822
+ };
733
823
  private _streamAgentRun;
734
824
  private _streamSse;
735
825
  private _parseEventStream;
@@ -864,4 +954,4 @@ declare class CommonsError extends Error {
864
954
  constructor(message: string, status: number, data?: unknown | undefined);
865
955
  }
866
956
 
867
- export { type A2AArtifact, type A2ADataPart, type A2AFilePart, type A2AMessage, type A2AMessagePart, type A2ASendTaskParams, type A2ASkill, type A2ATask, type A2ATaskState, type A2ATextPart, type Agent, type AgentCard, type AgentMemory, type AgentWallet, type ChatMessage, CommonsClient, type CommonsClientConfig, CommonsError, type CreateAgentParams, type CreateMemoryParams, type CreateSkillParams, type CreateTaskParams, type CreateToolKeyParams, type CreateToolParams, type CreateWalletParams, type McpConnectionType, type McpPrompt, type McpResource, type McpServer, type MemorySourceType, type MemoryStats, type MemoryType, type ModelConfig, type ModelProvider, type RunParams, type Session, type Skill, type SkillIndex, type StreamEvent, type StreamEventType, type Task, type Tool, type ToolKey, type ToolPermission, type UpdateMemoryParams, type UsageAggregation, type UsageEvent, type WalletBalance, type WalletType, type Workflow, type WorkflowDefinition, type WorkflowEdge, type WorkflowExecution, type WorkflowNode, type WorkflowNodeType };
957
+ export { type A2AArtifact, type A2ADataPart, type A2AFilePart, type A2AMessage, type A2AMessagePart, type A2ASendTaskParams, type A2ASkill, type A2ATask, type A2ATaskState, type A2ATextPart, type Agent, type AgentCard, type AgentMemory, type AgentWallet, type ApiKey, type ApiKeyPrincipalType, type ChatMessage, CommonsClient, type CommonsClientConfig, CommonsError, type CreateAgentParams, type CreateApiKeyParams, type CreateMemoryParams, type CreateSkillParams, type CreateTaskParams, type CreateToolKeyParams, type CreateToolParams, type CreateWalletParams, type CreatedApiKey, type McpConnectionType, type McpPrompt, type McpResource, type McpServer, type MemorySourceType, type MemoryStats, type MemoryType, type ModelConfig, type ModelProvider, type RunParams, type Session, type Skill, type SkillIndex, type StreamEvent, type StreamEventType, type Task, type Tool, type ToolKey, type ToolPermission, type UpdateMemoryParams, type UsageAggregation, type UsageEvent, type WalletBalance, type WalletType, type Workflow, type WorkflowDefinition, type WorkflowEdge, type WorkflowExecution, type WorkflowNode, type WorkflowNodeType };
package/dist/index.d.ts CHANGED
@@ -133,7 +133,7 @@ interface Task {
133
133
  sessionId: string;
134
134
  title: string;
135
135
  description?: string;
136
- status: 'pending' | 'running' | 'completed' | 'failed' | 'cancelled';
136
+ status: 'pending' | 'started' | 'running' | 'completed' | 'failed' | 'cancelled';
137
137
  executionMode: 'single' | 'workflow' | 'sequential';
138
138
  workflowId?: string;
139
139
  cronExpression?: string;
@@ -482,6 +482,25 @@ interface CreateWalletParams {
482
482
  externalAddress?: string;
483
483
  chainId?: string;
484
484
  }
485
+ type ApiKeyPrincipalType = 'user' | 'agent';
486
+ interface ApiKey {
487
+ id: string;
488
+ label?: string | null;
489
+ principalId: string;
490
+ principalType: ApiKeyPrincipalType;
491
+ active: boolean;
492
+ createdAt: string;
493
+ lastUsedAt?: string | null;
494
+ }
495
+ interface CreateApiKeyParams {
496
+ principalId: string;
497
+ principalType: ApiKeyPrincipalType;
498
+ label?: string;
499
+ }
500
+ /** Returned only on creation — the plaintext key is never available again. */
501
+ interface CreatedApiKey extends ApiKey {
502
+ key: string;
503
+ }
485
504
 
486
505
  declare class CommonsClient {
487
506
  private readonly baseUrl;
@@ -491,6 +510,13 @@ declare class CommonsClient {
491
510
  constructor(config: CommonsClientConfig);
492
511
  private headers;
493
512
  private request;
513
+ get models(): {
514
+ /** List all available LLM models from the registry */
515
+ list: () => Promise<{
516
+ data: any[];
517
+ grouped: Record<string, any[]>;
518
+ }>;
519
+ };
494
520
  get agents(): {
495
521
  create: (params: CreateAgentParams) => Promise<{
496
522
  data: Agent;
@@ -529,6 +555,31 @@ declare class CommonsClient {
529
555
  * }
530
556
  */
531
557
  stream: (params: RunParams) => AsyncGenerator<StreamEvent>;
558
+ /** Get the current heartbeat/autonomy status for an agent. */
559
+ getAutonomy: (agentId: string) => Promise<{
560
+ data: {
561
+ enabled: boolean;
562
+ intervalSec: number;
563
+ isArmed: boolean;
564
+ lastBeatAt: string | null;
565
+ nextBeatAt: string | null;
566
+ };
567
+ }>;
568
+ /** Enable or disable the heartbeat, optionally setting the interval. */
569
+ setAutonomy: (agentId: string, params: {
570
+ enabled: boolean;
571
+ intervalSec?: number;
572
+ }) => Promise<{
573
+ data: {
574
+ enabled: boolean;
575
+ intervalSec: number;
576
+ isArmed: boolean;
577
+ };
578
+ }>;
579
+ /** Trigger a single heartbeat beat immediately. */
580
+ triggerHeartbeat: (agentId: string) => Promise<{
581
+ message: string;
582
+ }>;
532
583
  };
533
584
  get run(): {
534
585
  once: (params: RunParams) => Promise<any>;
@@ -614,6 +665,10 @@ declare class CommonsClient {
614
665
  list: (agentId: string, initiatorId: string) => Promise<{
615
666
  data: Session[];
616
667
  }>;
668
+ /** List all sessions for a user across all agents. */
669
+ listByUser: (initiator: string) => Promise<{
670
+ data: Session[];
671
+ }>;
617
672
  create: (params: {
618
673
  agentId: string;
619
674
  initiator: string;
@@ -727,9 +782,44 @@ declare class CommonsClient {
727
782
  create: (params: CreateWalletParams) => Promise<AgentWallet>;
728
783
  /** Get USDC and native token balance for a wallet. */
729
784
  balance: (walletId: string) => Promise<WalletBalance>;
785
+ /** Transfer USDC or ETH to another address. */
786
+ transfer: (walletId: string, params: {
787
+ toAddress: string;
788
+ amount: string;
789
+ tokenSymbol?: "USDC" | "ETH";
790
+ }) => Promise<{
791
+ txHash: string;
792
+ }>;
793
+ /**
794
+ * Proxy an HTTP request through an agent's primary wallet, automatically
795
+ * handling x402 payment challenges. The wallet signs the payment and
796
+ * retries once if the target responds with HTTP 402.
797
+ */
798
+ x402Fetch: (agentId: string, params: {
799
+ url: string;
800
+ method?: string;
801
+ headers?: Record<string, string>;
802
+ body?: string;
803
+ }) => Promise<{
804
+ status: number;
805
+ body: unknown;
806
+ }>;
730
807
  /** Deactivate a wallet. */
731
808
  deactivate: (walletId: string) => Promise<void>;
732
809
  };
810
+ get apiKeys(): {
811
+ /**
812
+ * Generate a new API key for a principal (user or agent).
813
+ * The plaintext key is returned only in this response — never again.
814
+ */
815
+ create: (params: CreateApiKeyParams) => Promise<CreatedApiKey>;
816
+ /** List all active API keys for a principal (key values not included). */
817
+ list: (principalId: string, principalType: ApiKeyPrincipalType) => Promise<ApiKey[]>;
818
+ /** Revoke (soft-delete) an API key by its UUID. */
819
+ revoke: (id: string) => Promise<{
820
+ revoked: boolean;
821
+ }>;
822
+ };
733
823
  private _streamAgentRun;
734
824
  private _streamSse;
735
825
  private _parseEventStream;
@@ -864,4 +954,4 @@ declare class CommonsError extends Error {
864
954
  constructor(message: string, status: number, data?: unknown | undefined);
865
955
  }
866
956
 
867
- export { type A2AArtifact, type A2ADataPart, type A2AFilePart, type A2AMessage, type A2AMessagePart, type A2ASendTaskParams, type A2ASkill, type A2ATask, type A2ATaskState, type A2ATextPart, type Agent, type AgentCard, type AgentMemory, type AgentWallet, type ChatMessage, CommonsClient, type CommonsClientConfig, CommonsError, type CreateAgentParams, type CreateMemoryParams, type CreateSkillParams, type CreateTaskParams, type CreateToolKeyParams, type CreateToolParams, type CreateWalletParams, type McpConnectionType, type McpPrompt, type McpResource, type McpServer, type MemorySourceType, type MemoryStats, type MemoryType, type ModelConfig, type ModelProvider, type RunParams, type Session, type Skill, type SkillIndex, type StreamEvent, type StreamEventType, type Task, type Tool, type ToolKey, type ToolPermission, type UpdateMemoryParams, type UsageAggregation, type UsageEvent, type WalletBalance, type WalletType, type Workflow, type WorkflowDefinition, type WorkflowEdge, type WorkflowExecution, type WorkflowNode, type WorkflowNodeType };
957
+ export { type A2AArtifact, type A2ADataPart, type A2AFilePart, type A2AMessage, type A2AMessagePart, type A2ASendTaskParams, type A2ASkill, type A2ATask, type A2ATaskState, type A2ATextPart, type Agent, type AgentCard, type AgentMemory, type AgentWallet, type ApiKey, type ApiKeyPrincipalType, type ChatMessage, CommonsClient, type CommonsClientConfig, CommonsError, type CreateAgentParams, type CreateApiKeyParams, type CreateMemoryParams, type CreateSkillParams, type CreateTaskParams, type CreateToolKeyParams, type CreateToolParams, type CreateWalletParams, type CreatedApiKey, type McpConnectionType, type McpPrompt, type McpResource, type McpServer, type MemorySourceType, type MemoryStats, type MemoryType, type ModelConfig, type ModelProvider, type RunParams, type Session, type Skill, type SkillIndex, type StreamEvent, type StreamEventType, type Task, type Tool, type ToolKey, type ToolPermission, type UpdateMemoryParams, type UsageAggregation, type UsageEvent, type WalletBalance, type WalletType, type Workflow, type WorkflowDefinition, type WorkflowEdge, type WorkflowExecution, type WorkflowNode, type WorkflowNodeType };
package/dist/index.mjs CHANGED
@@ -25,6 +25,13 @@ var CommonsClient = class {
25
25
  }
26
26
  return res.json();
27
27
  }
28
+ // ── Models ────────────────────────────────────────────────────────────────
29
+ get models() {
30
+ return {
31
+ /** List all available LLM models from the registry */
32
+ list: () => this.request("GET", "/v1/models")
33
+ };
34
+ }
28
35
  // ── Agents ────────────────────────────────────────────────────────────────
29
36
  get agents() {
30
37
  return {
@@ -49,7 +56,14 @@ var CommonsClient = class {
49
56
  * if (event.type === 'token') process.stdout.write(event.content ?? '');
50
57
  * }
51
58
  */
52
- stream: (params) => this._streamAgentRun(params)
59
+ stream: (params) => this._streamAgentRun(params),
60
+ // ── Autonomy / Heartbeat ─────────────────────────────────────────────
61
+ /** Get the current heartbeat/autonomy status for an agent. */
62
+ getAutonomy: (agentId) => this.request("GET", `/v1/agents/${agentId}/autonomy`),
63
+ /** Enable or disable the heartbeat, optionally setting the interval. */
64
+ setAutonomy: (agentId, params) => this.request("PUT", `/v1/agents/${agentId}/autonomy`, params),
65
+ /** Trigger a single heartbeat beat immediately. */
66
+ triggerHeartbeat: (agentId) => this.request("POST", `/v1/agents/${agentId}/autonomy/trigger`)
53
67
  };
54
68
  }
55
69
  // ── Run (non-streaming) ───────────────────────────────────────────────────
@@ -98,6 +112,8 @@ var CommonsClient = class {
98
112
  get sessions() {
99
113
  return {
100
114
  list: (agentId, initiatorId) => this.request("GET", `/v1/sessions/list/${agentId}/${initiatorId}`),
115
+ /** List all sessions for a user across all agents. */
116
+ listByUser: (initiator) => this.request("GET", `/v1/sessions/user/${encodeURIComponent(initiator)}`),
101
117
  create: (params) => this.request("POST", "/v1/sessions", params),
102
118
  get: (sessionId) => this.request("GET", `/v1/sessions/${sessionId}`),
103
119
  /** Get full session with history, tasks, childSessions, and spaces. */
@@ -175,10 +191,35 @@ var CommonsClient = class {
175
191
  create: (params) => this.request("POST", "/v1/wallets", params),
176
192
  /** Get USDC and native token balance for a wallet. */
177
193
  balance: (walletId) => this.request("GET", `/v1/wallets/${walletId}/balance`),
194
+ /** Transfer USDC or ETH to another address. */
195
+ transfer: (walletId, params) => this.request("POST", `/v1/wallets/${walletId}/transfer`, params),
196
+ /**
197
+ * Proxy an HTTP request through an agent's primary wallet, automatically
198
+ * handling x402 payment challenges. The wallet signs the payment and
199
+ * retries once if the target responds with HTTP 402.
200
+ */
201
+ x402Fetch: (agentId, params) => this.request("POST", `/v1/wallets/agent/${agentId}/x402-fetch`, params),
178
202
  /** Deactivate a wallet. */
179
203
  deactivate: (walletId) => this.request("DELETE", `/v1/wallets/${walletId}`)
180
204
  };
181
205
  }
206
+ // ── API Keys ──────────────────────────────────────────────────────────────
207
+ get apiKeys() {
208
+ return {
209
+ /**
210
+ * Generate a new API key for a principal (user or agent).
211
+ * The plaintext key is returned only in this response — never again.
212
+ */
213
+ create: (params) => this.request("POST", "/v1/auth/api-keys", params),
214
+ /** List all active API keys for a principal (key values not included). */
215
+ list: (principalId, principalType) => {
216
+ const q = new URLSearchParams({ principalId, principalType }).toString();
217
+ return this.request("GET", `/v1/auth/api-keys?${q}`);
218
+ },
219
+ /** Revoke (soft-delete) an API key by its UUID. */
220
+ revoke: (id) => this.request("DELETE", `/v1/auth/api-keys/${id}`)
221
+ };
222
+ }
182
223
  // ── SSE Streaming internals ───────────────────────────────────────────────
183
224
  async *_streamAgentRun(params) {
184
225
  const res = await this._fetch(`${this.baseUrl}/v1/agents/run/stream`, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/client.ts"],"sourcesContent":["import {\n Agent, CreateAgentParams,\n RunParams, StreamEvent,\n Workflow, WorkflowExecution,\n Task, CreateTaskParams,\n Tool, CreateToolParams,\n ToolKey, CreateToolKeyParams,\n ToolPermission,\n CommonsClientConfig,\n AgentCard, A2ATask, A2ASendTaskParams,\n McpServer, McpResource, McpPrompt, McpConnectionType,\n Skill, SkillIndex, CreateSkillParams,\n UsageAggregation,\n AgentMemory, MemoryStats, MemoryType,\n CreateMemoryParams, UpdateMemoryParams,\n AgentWallet, WalletBalance, CreateWalletParams,\n} from './types';\n\nexport class CommonsClient {\n private readonly baseUrl: string;\n private readonly apiKey?: string;\n private readonly initiator?: string;\n private readonly _fetch: typeof fetch;\n\n constructor(config: CommonsClientConfig) {\n this.baseUrl = config.baseUrl.replace(/\\/$/, '');\n this.apiKey = config.apiKey;\n this.initiator = config.initiator;\n this._fetch = config.fetch ?? fetch;\n }\n\n // ── Helpers ───────────────────────────────────────────────────────────────\n\n private headers(extra?: Record<string, string>): Record<string, string> {\n const h: Record<string, string> = { 'Content-Type': 'application/json' };\n if (this.apiKey) h['Authorization'] = `Bearer ${this.apiKey}`;\n if (this.initiator) h['x-initiator'] = this.initiator;\n return { ...h, ...extra };\n }\n\n private async request<T>(method: string, path: string, body?: unknown): Promise<T> {\n const res = await this._fetch(`${this.baseUrl}${path}`, {\n method,\n headers: this.headers(),\n body: body !== undefined ? JSON.stringify(body) : undefined,\n });\n if (!res.ok) {\n const err = await res.json().catch(() => ({ message: res.statusText }));\n throw new CommonsError(err.message ?? res.statusText, res.status, err);\n }\n return res.json() as Promise<T>;\n }\n\n // ── Agents ────────────────────────────────────────────────────────────────\n\n get agents() {\n return {\n create: (params: CreateAgentParams): Promise<{ data: Agent }> =>\n this.request('POST', '/v1/agents', params),\n\n list: (owner?: string): Promise<{ data: Agent[] }> =>\n this.request('GET', `/v1/agents${owner ? `?owner=${owner}` : ''}`),\n\n get: (agentId: string): Promise<{ data: Agent }> =>\n this.request('GET', `/v1/agents/${agentId}`),\n\n update: (agentId: string, params: Partial<CreateAgentParams>): Promise<{ data: Agent }> =>\n this.request('PUT', `/v1/agents/${agentId}`, params),\n\n /** List tools assigned to an agent. */\n listTools: (agentId: string): Promise<{ data: any[] }> =>\n this.request('GET', `/v1/agents/${agentId}/tools`),\n\n /** Assign a tool to an agent. */\n addTool: (agentId: string, params: { toolId: string; usageComments?: string }): Promise<{ data: any }> =>\n this.request('POST', `/v1/agents/${agentId}/tools`, params),\n\n /** Remove a tool assignment from an agent. */\n removeTool: (assignmentId: string): Promise<void> =>\n this.request('DELETE', `/v1/agents/tools/${assignmentId}`),\n\n /** Create a liaison agent for an external agent. */\n createLiaison: (params: Record<string, any>): Promise<any> =>\n this.request('POST', '/v1/liaison', params),\n\n /**\n * Stream an agent run. Returns an async generator of StreamEvents.\n * Works in Node.js, browsers, and Edge runtimes.\n *\n * @example\n * for await (const event of client.agents.stream({ agentId, messages })) {\n * if (event.type === 'token') process.stdout.write(event.content ?? '');\n * }\n */\n stream: (params: RunParams): AsyncGenerator<StreamEvent> =>\n this._streamAgentRun(params),\n };\n }\n\n // ── Run (non-streaming) ───────────────────────────────────────────────────\n\n get run() {\n return {\n once: (params: RunParams): Promise<any> =>\n this.request('POST', '/v1/agents/run', params),\n };\n }\n\n // ── Workflows ─────────────────────────────────────────────────────────────\n\n get workflows() {\n return {\n create: (params: {\n name: string;\n description?: string;\n definition: any;\n ownerId: string;\n ownerType: 'user' | 'agent';\n isPublic?: boolean;\n category?: string;\n tags?: string[];\n }): Promise<Workflow> => this.request('POST', '/v1/workflows', params),\n\n list: (ownerId: string, ownerType: 'user' | 'agent'): Promise<Workflow[]> =>\n this.request('GET', `/v1/workflows?ownerId=${ownerId}&ownerType=${ownerType}`),\n\n get: (workflowId: string): Promise<Workflow> =>\n this.request('GET', `/v1/workflows/${workflowId}`),\n\n update: (workflowId: string, updates: Partial<Workflow>): Promise<Workflow> =>\n this.request('PUT', `/v1/workflows/${workflowId}`, updates),\n\n delete: (workflowId: string): Promise<{ success: boolean }> =>\n this.request('DELETE', `/v1/workflows/${workflowId}`),\n\n execute: (workflowId: string, params: {\n agentId?: string;\n sessionId?: string;\n inputData?: Record<string, any>;\n userId?: string;\n }): Promise<WorkflowExecution> =>\n this.request('POST', `/v1/workflows/${workflowId}/execute`, params),\n\n getExecution: (workflowId: string, executionId: string): Promise<WorkflowExecution> =>\n this.request('GET', `/v1/workflows/${workflowId}/executions/${executionId}`),\n\n listExecutions: (workflowId: string, limit?: number): Promise<WorkflowExecution[]> =>\n this.request('GET', `/v1/workflows/${workflowId}/executions${limit ? `?limit=${limit}` : ''}`),\n\n cancelExecution: (workflowId: string, executionId: string): Promise<{ success: boolean }> =>\n this.request('POST', `/v1/workflows/${workflowId}/executions/${executionId}/cancel`),\n\n /** Approve a paused human_approval node and resume execution. */\n approveExecution: (workflowId: string, executionId: string, params: {\n approvalToken: string;\n approvalData?: Record<string, any>;\n }): Promise<{ success: boolean; executionId: string; action: string }> =>\n this.request('POST', `/v1/workflows/${workflowId}/executions/${executionId}/approve`, params),\n\n /** Reject a paused human_approval node and terminate execution. */\n rejectExecution: (workflowId: string, executionId: string, params: {\n approvalToken: string;\n reason?: string;\n }): Promise<{ success: boolean; executionId: string; action: string }> =>\n this.request('POST', `/v1/workflows/${workflowId}/executions/${executionId}/reject`, params),\n\n /** Stream execution progress via SSE. Returns an async generator. */\n stream: (workflowId: string, executionId: string): AsyncGenerator<StreamEvent> =>\n this._streamSse(`/v1/workflows/${workflowId}/executions/${executionId}/stream`),\n };\n }\n\n // ── Tasks ─────────────────────────────────────────────────────────────────\n\n get tasks() {\n return {\n create: (params: CreateTaskParams): Promise<{ data: Task }> =>\n this.request('POST', '/v1/tasks', params),\n\n list: (filter: { sessionId?: string; agentId?: string; ownerId?: string; ownerType?: 'user' | 'agent' }): Promise<{ data: Task[] }> => {\n const q = new URLSearchParams(filter as any).toString();\n return this.request('GET', `/v1/tasks?${q}`);\n },\n\n get: (taskId: string): Promise<{ data: Task }> =>\n this.request('GET', `/v1/tasks/${taskId}`),\n\n execute: (taskId: string): Promise<{ success: boolean; data: any }> =>\n this.request('POST', `/v1/tasks/${taskId}/execute`),\n\n cancel: (taskId: string): Promise<{ success: boolean }> =>\n this.request('POST', `/v1/tasks/${taskId}/cancel`),\n\n delete: (taskId: string): Promise<{ success: boolean }> =>\n this.request('DELETE', `/v1/tasks/${taskId}`),\n\n /** Stream task status updates via SSE. Returns an async generator. */\n stream: (taskId: string): AsyncGenerator<StreamEvent> =>\n this._streamSse(`/v1/tasks/${taskId}/stream`),\n };\n }\n\n // ── Sessions ──────────────────────────────────────────────────────────────\n\n get sessions() {\n return {\n list: (agentId: string, initiatorId: string): Promise<{ data: import('./types').Session[] }> =>\n this.request('GET', `/v1/sessions/list/${agentId}/${initiatorId}`),\n\n create: (params: {\n agentId: string;\n initiator: string;\n title?: string;\n model?: Record<string, any>;\n }): Promise<{ data: import('./types').Session }> =>\n this.request('POST', '/v1/sessions', params),\n\n get: (sessionId: string): Promise<{ data: import('./types').Session }> =>\n this.request('GET', `/v1/sessions/${sessionId}`),\n\n /** Get full session with history, tasks, childSessions, and spaces. */\n getFull: (sessionId: string): Promise<{ data: any }> =>\n this.request('GET', `/v1/sessions/${sessionId}/full`),\n };\n }\n\n // ── Tools ─────────────────────────────────────────────────────────────────\n\n get tools() {\n return {\n list: (filter?: { agentId?: string; owner?: string; ownerType?: string; visibility?: string }): Promise<{ data: Tool[] }> => {\n const q = filter ? new URLSearchParams(filter as any).toString() : '';\n return this.request('GET', `/v1/tools${q ? `?${q}` : ''}`);\n },\n\n get: (toolId: string): Promise<{ data: Tool }> =>\n this.request('GET', `/v1/tools/${toolId}`),\n\n create: (params: CreateToolParams): Promise<{ data: Tool }> =>\n this.request('POST', '/v1/tools', params),\n\n update: (toolId: string, params: Partial<CreateToolParams>): Promise<{ data: Tool }> =>\n this.request('PUT', `/v1/tools/${toolId}`, params),\n\n delete: (toolId: string): Promise<{ success: boolean }> =>\n this.request('DELETE', `/v1/tools/${toolId}`),\n\n /** List built-in static tools available to all agents. */\n listStatic: (): Promise<{ data: Tool[] }> =>\n this.request('GET', '/v1/tools/static'),\n };\n }\n\n // ── Tool Keys ─────────────────────────────────────────────────────────────\n\n get toolKeys() {\n return {\n list: (filter: { ownerId?: string; ownerType?: string; toolId?: string }): Promise<{ success: boolean; data: ToolKey[] }> => {\n const q = new URLSearchParams(filter as any).toString();\n return this.request('GET', `/v1/tool-keys${q ? `?${q}` : ''}`);\n },\n\n create: (params: CreateToolKeyParams): Promise<{ success: boolean; data: ToolKey }> =>\n this.request('POST', '/v1/tool-keys', params),\n\n delete: (keyId: string): Promise<{ success: boolean }> =>\n this.request('DELETE', `/v1/tool-keys/${keyId}`),\n };\n }\n\n // ── Tool Permissions ──────────────────────────────────────────────────────\n\n get toolPermissions() {\n return {\n list: (toolId?: string): Promise<{ success: boolean; data: ToolPermission[] }> => {\n const q = toolId ? `?toolId=${toolId}` : '';\n return this.request('GET', `/v1/tool-permissions${q}`);\n },\n\n grant: (params: {\n toolId: string;\n subjectId: string;\n subjectType: 'user' | 'agent';\n permission: 'read' | 'execute' | 'admin';\n grantedBy?: string;\n }): Promise<{ success: boolean; data: ToolPermission }> =>\n this.request('POST', '/v1/tool-permissions/grant', params),\n\n revoke: (permissionId: string): Promise<{ success: boolean }> =>\n this.request('DELETE', `/v1/tool-permissions/revoke/${permissionId}`),\n };\n }\n\n // ── Skills ────────────────────────────────────────────────────────────────\n\n get skills() {\n return {\n list: (filter?: { ownerId?: string; ownerType?: string; isPublic?: boolean }): Promise<{ data: Skill[] }> => {\n const params = new URLSearchParams();\n if (filter?.ownerId) params.set('ownerId', filter.ownerId);\n if (filter?.ownerType) params.set('ownerType', filter.ownerType);\n if (filter?.isPublic !== undefined) params.set('isPublic', String(filter.isPublic));\n const qs = params.toString();\n return this.request('GET', `/v1/skills${qs ? `?${qs}` : ''}`);\n },\n\n get: (skillIdOrSlug: string): Promise<{ data: Skill }> =>\n this.request('GET', `/v1/skills/${skillIdOrSlug}`),\n\n getIndex: (ownerId?: string): Promise<{ data: SkillIndex[] }> => {\n const qs = ownerId ? `?ownerId=${ownerId}` : '';\n return this.request('GET', `/v1/skills/index${qs}`);\n },\n\n create: (params: CreateSkillParams): Promise<{ data: Skill }> =>\n this.request('POST', '/v1/skills', params),\n\n update: (skillIdOrSlug: string, updates: Partial<CreateSkillParams>): Promise<{ data: Skill }> =>\n this.request('PUT', `/v1/skills/${skillIdOrSlug}`, updates),\n\n delete: (skillIdOrSlug: string): Promise<{ deleted: boolean }> =>\n this.request('DELETE', `/v1/skills/${skillIdOrSlug}`),\n };\n }\n\n // ── Wallets ───────────────────────────────────────────────────────────────\n\n get wallets() {\n return {\n /** List all wallets for an agent. */\n list: (agentId: string): Promise<AgentWallet[]> =>\n this.request('GET', `/v1/wallets/agent/${agentId}`),\n\n /** Get the primary active wallet for an agent. */\n primary: (agentId: string): Promise<AgentWallet | null> =>\n this.request('GET', `/v1/wallets/agent/${agentId}/primary`),\n\n /** Get a specific wallet by ID. */\n get: (walletId: string): Promise<AgentWallet> =>\n this.request('GET', `/v1/wallets/${walletId}`),\n\n /** Create a new wallet for an agent. */\n create: (params: CreateWalletParams): Promise<AgentWallet> =>\n this.request('POST', '/v1/wallets', params),\n\n /** Get USDC and native token balance for a wallet. */\n balance: (walletId: string): Promise<WalletBalance> =>\n this.request('GET', `/v1/wallets/${walletId}/balance`),\n\n /** Deactivate a wallet. */\n deactivate: (walletId: string): Promise<void> =>\n this.request('DELETE', `/v1/wallets/${walletId}`),\n };\n }\n\n // ── SSE Streaming internals ───────────────────────────────────────────────\n\n private async *_streamAgentRun(params: RunParams): AsyncGenerator<StreamEvent> {\n const res = await this._fetch(`${this.baseUrl}/v1/agents/run/stream`, {\n method: 'POST',\n headers: this.headers(),\n body: JSON.stringify(params),\n });\n\n if (!res.ok) {\n const err = await res.json().catch(() => ({ message: res.statusText }));\n throw new CommonsError(err.message ?? res.statusText, res.status, err);\n }\n\n yield* this._parseEventStream(res);\n }\n\n private async *_streamSse(path: string): AsyncGenerator<StreamEvent> {\n const res = await this._fetch(`${this.baseUrl}${path}`, {\n method: 'GET',\n headers: this.headers({ Accept: 'text/event-stream' }),\n });\n\n if (!res.ok) {\n const err = await res.json().catch(() => ({ message: res.statusText }));\n throw new CommonsError(err.message ?? res.statusText, res.status, err);\n }\n\n yield* this._parseEventStream(res);\n }\n\n private async *_parseEventStream(res: Response): AsyncGenerator<StreamEvent> {\n if (!res.body) throw new Error('No response body');\n const reader = res.body.getReader();\n const decoder = new TextDecoder();\n let buffer = '';\n\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n buffer += decoder.decode(value, { stream: true });\n\n const lines = buffer.split('\\n');\n buffer = lines.pop() ?? '';\n\n for (const line of lines) {\n if (line.startsWith('data: ')) {\n const raw = line.slice(6).trim();\n if (raw === '[DONE]') return;\n try {\n const event = JSON.parse(raw) as StreamEvent;\n if (event.type !== 'heartbeat') yield event;\n if (event.type === 'final' || event.type === 'completed') return;\n } catch {\n // Ignore malformed lines\n }\n }\n }\n }\n }\n\n // ── A2A ───────────────────────────────────────────────────────────────────\n\n get a2a() {\n return {\n /** Fetch the A2A Agent Card for an agent. */\n getAgentCard: (agentId: string): Promise<AgentCard> =>\n this.request('GET', `/.well-known/agent.json?agentId=${agentId}`),\n\n /** Send a task to an agent (synchronous, waits for completion). */\n sendTask: (agentId: string, params: A2ASendTaskParams): Promise<A2ATask> =>\n this.request('POST', `/v1/a2a/${agentId}`, {\n jsonrpc: '2.0',\n id: params.id ?? `sdk-${Date.now()}`,\n method: 'tasks/send',\n params,\n }).then((r: any) => r.result as A2ATask),\n\n /** Get A2A task status. */\n getTask: (agentId: string, taskId: string): Promise<A2ATask> =>\n this.request('POST', `/v1/a2a/${agentId}`, {\n jsonrpc: '2.0', id: taskId, method: 'tasks/get', params: { id: taskId },\n }).then((r: any) => r.result as A2ATask),\n\n /** Cancel a running A2A task. */\n cancelTask: (agentId: string, taskId: string): Promise<A2ATask> =>\n this.request('POST', `/v1/a2a/${agentId}`, {\n jsonrpc: '2.0', id: taskId, method: 'tasks/cancel', params: { id: taskId },\n }).then((r: any) => r.result as A2ATask),\n\n /** List recent A2A tasks for an agent. */\n listTasks: (agentId: string, limit?: number): Promise<{ tasks: A2ATask[]; total: number }> =>\n this.request('GET', `/v1/a2a/${agentId}/tasks${limit ? `?limit=${limit}` : ''}`),\n\n /** Stream A2A task updates (SSE). */\n stream: (agentId: string, taskId: string): AsyncGenerator<StreamEvent> =>\n this._streamSse(`/v1/a2a/${agentId}/tasks/${taskId}/stream`),\n };\n }\n\n // ── MCP ───────────────────────────────────────────────────────────────────\n\n get mcp() {\n return {\n /** List MCP servers for an owner. */\n listServers: (ownerId: string, ownerType: 'user' | 'agent'): Promise<{ servers: McpServer[]; total: number }> =>\n this.request('GET', `/v1/mcp/servers?ownerId=${ownerId}&ownerType=${ownerType}`),\n\n /** Create a new MCP server. */\n createServer: (params: {\n name: string;\n description?: string;\n connectionType: McpConnectionType;\n connectionConfig: Record<string, any>;\n isPublic?: boolean;\n tags?: string[];\n ownerId: string;\n ownerType: 'user' | 'agent';\n }): Promise<McpServer> => {\n const { ownerId, ownerType, ...dto } = params;\n return this.request('POST', `/v1/mcp/servers?ownerId=${ownerId}&ownerType=${ownerType}`, dto);\n },\n\n /** Get MCP server by ID. */\n getServer: (serverId: string): Promise<McpServer> =>\n this.request('GET', `/v1/mcp/servers/${serverId}`),\n\n /** Delete an MCP server. */\n deleteServer: (serverId: string): Promise<void> =>\n this.request('DELETE', `/v1/mcp/servers/${serverId}`),\n\n /** Connect to an MCP server. */\n connect: (serverId: string): Promise<{ connected: boolean }> =>\n this.request('POST', `/v1/mcp/servers/${serverId}/connect`),\n\n /** Disconnect from an MCP server. */\n disconnect: (serverId: string): Promise<void> =>\n this.request('POST', `/v1/mcp/servers/${serverId}/disconnect`),\n\n /** Sync tools + resources + prompts from the MCP server. */\n sync: (serverId: string): Promise<{ toolsDiscovered: number; resourcesDiscovered: number; promptsDiscovered: number }> =>\n this.request('POST', `/v1/mcp/servers/${serverId}/sync`, {}),\n\n /** List tools discovered from an MCP server. */\n listTools: (serverId: string): Promise<{ tools: any[]; total: number }> =>\n this.request('GET', `/v1/mcp/servers/${serverId}/tools`),\n\n /** List all MCP tools across all servers for a given owner. */\n listToolsByOwner: (ownerId: string, ownerType: 'user' | 'agent'): Promise<{ tools: any[] }> =>\n this.request('GET', `/v1/mcp/tools?ownerId=${ownerId}&ownerType=${ownerType}`),\n\n /** List resources from an MCP server. */\n listResources: (serverId: string): Promise<{ resources: McpResource[]; total: number }> =>\n this.request('GET', `/v1/mcp/servers/${serverId}/resources`),\n\n /** Read a resource by URI. */\n readResource: (serverId: string, uri: string): Promise<{ uri: string; contents: any }> =>\n this.request('GET', `/v1/mcp/servers/${serverId}/resources/read?uri=${encodeURIComponent(uri)}`),\n\n /** List prompts from an MCP server. */\n listPrompts: (serverId: string): Promise<{ prompts: McpPrompt[]; total: number }> =>\n this.request('GET', `/v1/mcp/servers/${serverId}/prompts`),\n\n /** Render a prompt with arguments. */\n getPrompt: (serverId: string, promptName: string, args?: Record<string, string>): Promise<{ description?: string; messages: any[] }> =>\n this.request('POST', `/v1/mcp/servers/${serverId}/prompts/${promptName}`, { arguments: args }),\n };\n }\n\n // ── Memory ────────────────────────────────────────────────────────────────\n\n get memory() {\n return {\n /** List all memories for an agent. */\n list: (\n agentId: string,\n opts?: { type?: MemoryType; limit?: number },\n ): Promise<{ data: AgentMemory[] }> => {\n const params = new URLSearchParams();\n if (opts?.type) params.set('type', opts.type);\n if (opts?.limit) params.set('limit', String(opts.limit));\n const qs = params.toString();\n return this.request('GET', `/v1/memory/agents/${agentId}${qs ? `?${qs}` : ''}`);\n },\n\n /** Get memory stats for an agent. */\n stats: (agentId: string): Promise<{ data: MemoryStats }> =>\n this.request('GET', `/v1/memory/agents/${agentId}/stats`),\n\n /** Retrieve memories most relevant to a query. */\n retrieve: (\n agentId: string,\n query: string,\n limit?: number,\n ): Promise<{ data: AgentMemory[] }> => {\n const params = new URLSearchParams({ q: query });\n if (limit) params.set('limit', String(limit));\n return this.request('GET', `/v1/memory/agents/${agentId}/retrieve?${params}`);\n },\n\n /** Get a single memory by ID. */\n get: (memoryId: string): Promise<{ data: AgentMemory }> =>\n this.request('GET', `/v1/memory/${memoryId}`),\n\n /** Manually create a memory. */\n create: (params: CreateMemoryParams): Promise<{ data: AgentMemory }> =>\n this.request('POST', '/v1/memory', params),\n\n /** Update a memory. */\n update: (memoryId: string, params: UpdateMemoryParams): Promise<{ data: AgentMemory }> =>\n this.request('PATCH', `/v1/memory/${memoryId}`, params),\n\n /** Soft-delete (deactivate) a memory. */\n delete: (memoryId: string): Promise<void> =>\n this.request('DELETE', `/v1/memory/${memoryId}`),\n };\n }\n\n // ── Usage / Observability ─────────────────────────────────────────────────\n\n get usage() {\n return {\n /** Get aggregated token + cost usage for an agent. */\n getAgentUsage: (\n agentId: string,\n opts?: { from?: string; to?: string },\n ): Promise<{ data: UsageAggregation }> => {\n const params = new URLSearchParams();\n if (opts?.from) params.set('from', opts.from);\n if (opts?.to) params.set('to', opts.to);\n const qs = params.toString();\n return this.request('GET', `/v1/usage/agents/${agentId}${qs ? `?${qs}` : ''}`);\n },\n\n /** Get aggregated token + cost usage for a session. */\n getSessionUsage: (sessionId: string): Promise<{ data: UsageAggregation }> =>\n this.request('GET', `/v1/usage/sessions/${sessionId}`),\n };\n }\n}\n\n// ─── Error ────────────────────────────────────────────────────────────────────\n\nexport class CommonsError extends Error {\n constructor(\n message: string,\n public readonly status: number,\n public readonly data?: unknown,\n ) {\n super(message);\n this.name = 'CommonsError';\n }\n}\n"],"mappings":";AAkBO,IAAM,gBAAN,MAAoB;AAAA,EAMzB,YAAY,QAA6B;AACvC,SAAK,UAAU,OAAO,QAAQ,QAAQ,OAAO,EAAE;AAC/C,SAAK,SAAS,OAAO;AACrB,SAAK,YAAY,OAAO;AACxB,SAAK,SAAS,OAAO,SAAS;AAAA,EAChC;AAAA;AAAA,EAIQ,QAAQ,OAAwD;AACtE,UAAM,IAA4B,EAAE,gBAAgB,mBAAmB;AACvE,QAAI,KAAK,OAAQ,GAAE,eAAe,IAAI,UAAU,KAAK,MAAM;AAC3D,QAAI,KAAK,UAAW,GAAE,aAAa,IAAI,KAAK;AAC5C,WAAO,EAAE,GAAG,GAAG,GAAG,MAAM;AAAA,EAC1B;AAAA,EAEA,MAAc,QAAW,QAAgB,MAAc,MAA4B;AACjF,UAAM,MAAM,MAAM,KAAK,OAAO,GAAG,KAAK,OAAO,GAAG,IAAI,IAAI;AAAA,MACtD;AAAA,MACA,SAAS,KAAK,QAAQ;AAAA,MACtB,MAAM,SAAS,SAAY,KAAK,UAAU,IAAI,IAAI;AAAA,IACpD,CAAC;AACD,QAAI,CAAC,IAAI,IAAI;AACX,YAAM,MAAM,MAAM,IAAI,KAAK,EAAE,MAAM,OAAO,EAAE,SAAS,IAAI,WAAW,EAAE;AACtE,YAAM,IAAI,aAAa,IAAI,WAAW,IAAI,YAAY,IAAI,QAAQ,GAAG;AAAA,IACvE;AACA,WAAO,IAAI,KAAK;AAAA,EAClB;AAAA;AAAA,EAIA,IAAI,SAAS;AACX,WAAO;AAAA,MACL,QAAQ,CAAC,WACP,KAAK,QAAQ,QAAQ,cAAc,MAAM;AAAA,MAE3C,MAAM,CAAC,UACL,KAAK,QAAQ,OAAO,aAAa,QAAQ,UAAU,KAAK,KAAK,EAAE,EAAE;AAAA,MAEnE,KAAK,CAAC,YACJ,KAAK,QAAQ,OAAO,cAAc,OAAO,EAAE;AAAA,MAE7C,QAAQ,CAAC,SAAiB,WACxB,KAAK,QAAQ,OAAO,cAAc,OAAO,IAAI,MAAM;AAAA;AAAA,MAGrD,WAAW,CAAC,YACV,KAAK,QAAQ,OAAO,cAAc,OAAO,QAAQ;AAAA;AAAA,MAGnD,SAAS,CAAC,SAAiB,WACzB,KAAK,QAAQ,QAAQ,cAAc,OAAO,UAAU,MAAM;AAAA;AAAA,MAG5D,YAAY,CAAC,iBACX,KAAK,QAAQ,UAAU,oBAAoB,YAAY,EAAE;AAAA;AAAA,MAG3D,eAAe,CAAC,WACd,KAAK,QAAQ,QAAQ,eAAe,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAW5C,QAAQ,CAAC,WACP,KAAK,gBAAgB,MAAM;AAAA,IAC/B;AAAA,EACF;AAAA;AAAA,EAIA,IAAI,MAAM;AACR,WAAO;AAAA,MACL,MAAM,CAAC,WACL,KAAK,QAAQ,QAAQ,kBAAkB,MAAM;AAAA,IACjD;AAAA,EACF;AAAA;AAAA,EAIA,IAAI,YAAY;AACd,WAAO;AAAA,MACL,QAAQ,CAAC,WASgB,KAAK,QAAQ,QAAQ,iBAAiB,MAAM;AAAA,MAErE,MAAM,CAAC,SAAiB,cACtB,KAAK,QAAQ,OAAO,yBAAyB,OAAO,cAAc,SAAS,EAAE;AAAA,MAE/E,KAAK,CAAC,eACJ,KAAK,QAAQ,OAAO,iBAAiB,UAAU,EAAE;AAAA,MAEnD,QAAQ,CAAC,YAAoB,YAC3B,KAAK,QAAQ,OAAO,iBAAiB,UAAU,IAAI,OAAO;AAAA,MAE5D,QAAQ,CAAC,eACP,KAAK,QAAQ,UAAU,iBAAiB,UAAU,EAAE;AAAA,MAEtD,SAAS,CAAC,YAAoB,WAM5B,KAAK,QAAQ,QAAQ,iBAAiB,UAAU,YAAY,MAAM;AAAA,MAEpE,cAAc,CAAC,YAAoB,gBACjC,KAAK,QAAQ,OAAO,iBAAiB,UAAU,eAAe,WAAW,EAAE;AAAA,MAE7E,gBAAgB,CAAC,YAAoB,UACnC,KAAK,QAAQ,OAAO,iBAAiB,UAAU,cAAc,QAAQ,UAAU,KAAK,KAAK,EAAE,EAAE;AAAA,MAE/F,iBAAiB,CAAC,YAAoB,gBACpC,KAAK,QAAQ,QAAQ,iBAAiB,UAAU,eAAe,WAAW,SAAS;AAAA;AAAA,MAGrF,kBAAkB,CAAC,YAAoB,aAAqB,WAI1D,KAAK,QAAQ,QAAQ,iBAAiB,UAAU,eAAe,WAAW,YAAY,MAAM;AAAA;AAAA,MAG9F,iBAAiB,CAAC,YAAoB,aAAqB,WAIzD,KAAK,QAAQ,QAAQ,iBAAiB,UAAU,eAAe,WAAW,WAAW,MAAM;AAAA;AAAA,MAG7F,QAAQ,CAAC,YAAoB,gBAC3B,KAAK,WAAW,iBAAiB,UAAU,eAAe,WAAW,SAAS;AAAA,IAClF;AAAA,EACF;AAAA;AAAA,EAIA,IAAI,QAAQ;AACV,WAAO;AAAA,MACL,QAAQ,CAAC,WACP,KAAK,QAAQ,QAAQ,aAAa,MAAM;AAAA,MAE1C,MAAM,CAAC,WAAgI;AACrI,cAAM,IAAI,IAAI,gBAAgB,MAAa,EAAE,SAAS;AACtD,eAAO,KAAK,QAAQ,OAAO,aAAa,CAAC,EAAE;AAAA,MAC7C;AAAA,MAEA,KAAK,CAAC,WACJ,KAAK,QAAQ,OAAO,aAAa,MAAM,EAAE;AAAA,MAE3C,SAAS,CAAC,WACR,KAAK,QAAQ,QAAQ,aAAa,MAAM,UAAU;AAAA,MAEpD,QAAQ,CAAC,WACP,KAAK,QAAQ,QAAQ,aAAa,MAAM,SAAS;AAAA,MAEnD,QAAQ,CAAC,WACP,KAAK,QAAQ,UAAU,aAAa,MAAM,EAAE;AAAA;AAAA,MAG9C,QAAQ,CAAC,WACP,KAAK,WAAW,aAAa,MAAM,SAAS;AAAA,IAChD;AAAA,EACF;AAAA;AAAA,EAIA,IAAI,WAAW;AACb,WAAO;AAAA,MACL,MAAM,CAAC,SAAiB,gBACtB,KAAK,QAAQ,OAAO,qBAAqB,OAAO,IAAI,WAAW,EAAE;AAAA,MAEnE,QAAQ,CAAC,WAMP,KAAK,QAAQ,QAAQ,gBAAgB,MAAM;AAAA,MAE7C,KAAK,CAAC,cACJ,KAAK,QAAQ,OAAO,gBAAgB,SAAS,EAAE;AAAA;AAAA,MAGjD,SAAS,CAAC,cACR,KAAK,QAAQ,OAAO,gBAAgB,SAAS,OAAO;AAAA,IACxD;AAAA,EACF;AAAA;AAAA,EAIA,IAAI,QAAQ;AACV,WAAO;AAAA,MACL,MAAM,CAAC,WAAsH;AAC3H,cAAM,IAAI,SAAS,IAAI,gBAAgB,MAAa,EAAE,SAAS,IAAI;AACnE,eAAO,KAAK,QAAQ,OAAO,YAAY,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE;AAAA,MAC3D;AAAA,MAEA,KAAK,CAAC,WACJ,KAAK,QAAQ,OAAO,aAAa,MAAM,EAAE;AAAA,MAE3C,QAAQ,CAAC,WACP,KAAK,QAAQ,QAAQ,aAAa,MAAM;AAAA,MAE1C,QAAQ,CAAC,QAAgB,WACvB,KAAK,QAAQ,OAAO,aAAa,MAAM,IAAI,MAAM;AAAA,MAEnD,QAAQ,CAAC,WACP,KAAK,QAAQ,UAAU,aAAa,MAAM,EAAE;AAAA;AAAA,MAG9C,YAAY,MACV,KAAK,QAAQ,OAAO,kBAAkB;AAAA,IAC1C;AAAA,EACF;AAAA;AAAA,EAIA,IAAI,WAAW;AACb,WAAO;AAAA,MACL,MAAM,CAAC,WAAsH;AAC3H,cAAM,IAAI,IAAI,gBAAgB,MAAa,EAAE,SAAS;AACtD,eAAO,KAAK,QAAQ,OAAO,gBAAgB,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE;AAAA,MAC/D;AAAA,MAEA,QAAQ,CAAC,WACP,KAAK,QAAQ,QAAQ,iBAAiB,MAAM;AAAA,MAE9C,QAAQ,CAAC,UACP,KAAK,QAAQ,UAAU,iBAAiB,KAAK,EAAE;AAAA,IACnD;AAAA,EACF;AAAA;AAAA,EAIA,IAAI,kBAAkB;AACpB,WAAO;AAAA,MACL,MAAM,CAAC,WAA2E;AAChF,cAAM,IAAI,SAAS,WAAW,MAAM,KAAK;AACzC,eAAO,KAAK,QAAQ,OAAO,uBAAuB,CAAC,EAAE;AAAA,MACvD;AAAA,MAEA,OAAO,CAAC,WAON,KAAK,QAAQ,QAAQ,8BAA8B,MAAM;AAAA,MAE3D,QAAQ,CAAC,iBACP,KAAK,QAAQ,UAAU,+BAA+B,YAAY,EAAE;AAAA,IACxE;AAAA,EACF;AAAA;AAAA,EAIA,IAAI,SAAS;AACX,WAAO;AAAA,MACL,MAAM,CAAC,WAAsG;AAC3G,cAAM,SAAS,IAAI,gBAAgB;AACnC,YAAI,QAAQ,QAAS,QAAO,IAAI,WAAW,OAAO,OAAO;AACzD,YAAI,QAAQ,UAAW,QAAO,IAAI,aAAa,OAAO,SAAS;AAC/D,YAAI,QAAQ,aAAa,OAAW,QAAO,IAAI,YAAY,OAAO,OAAO,QAAQ,CAAC;AAClF,cAAM,KAAK,OAAO,SAAS;AAC3B,eAAO,KAAK,QAAQ,OAAO,aAAa,KAAK,IAAI,EAAE,KAAK,EAAE,EAAE;AAAA,MAC9D;AAAA,MAEA,KAAK,CAAC,kBACJ,KAAK,QAAQ,OAAO,cAAc,aAAa,EAAE;AAAA,MAEnD,UAAU,CAAC,YAAsD;AAC/D,cAAM,KAAK,UAAU,YAAY,OAAO,KAAK;AAC7C,eAAO,KAAK,QAAQ,OAAO,mBAAmB,EAAE,EAAE;AAAA,MACpD;AAAA,MAEA,QAAQ,CAAC,WACP,KAAK,QAAQ,QAAQ,cAAc,MAAM;AAAA,MAE3C,QAAQ,CAAC,eAAuB,YAC9B,KAAK,QAAQ,OAAO,cAAc,aAAa,IAAI,OAAO;AAAA,MAE5D,QAAQ,CAAC,kBACP,KAAK,QAAQ,UAAU,cAAc,aAAa,EAAE;AAAA,IACxD;AAAA,EACF;AAAA;AAAA,EAIA,IAAI,UAAU;AACZ,WAAO;AAAA;AAAA,MAEL,MAAM,CAAC,YACL,KAAK,QAAQ,OAAO,qBAAqB,OAAO,EAAE;AAAA;AAAA,MAGpD,SAAS,CAAC,YACR,KAAK,QAAQ,OAAO,qBAAqB,OAAO,UAAU;AAAA;AAAA,MAG5D,KAAK,CAAC,aACJ,KAAK,QAAQ,OAAO,eAAe,QAAQ,EAAE;AAAA;AAAA,MAG/C,QAAQ,CAAC,WACP,KAAK,QAAQ,QAAQ,eAAe,MAAM;AAAA;AAAA,MAG5C,SAAS,CAAC,aACR,KAAK,QAAQ,OAAO,eAAe,QAAQ,UAAU;AAAA;AAAA,MAGvD,YAAY,CAAC,aACX,KAAK,QAAQ,UAAU,eAAe,QAAQ,EAAE;AAAA,IACpD;AAAA,EACF;AAAA;AAAA,EAIA,OAAe,gBAAgB,QAAgD;AAC7E,UAAM,MAAM,MAAM,KAAK,OAAO,GAAG,KAAK,OAAO,yBAAyB;AAAA,MACpE,QAAQ;AAAA,MACR,SAAS,KAAK,QAAQ;AAAA,MACtB,MAAM,KAAK,UAAU,MAAM;AAAA,IAC7B,CAAC;AAED,QAAI,CAAC,IAAI,IAAI;AACX,YAAM,MAAM,MAAM,IAAI,KAAK,EAAE,MAAM,OAAO,EAAE,SAAS,IAAI,WAAW,EAAE;AACtE,YAAM,IAAI,aAAa,IAAI,WAAW,IAAI,YAAY,IAAI,QAAQ,GAAG;AAAA,IACvE;AAEA,WAAO,KAAK,kBAAkB,GAAG;AAAA,EACnC;AAAA,EAEA,OAAe,WAAW,MAA2C;AACnE,UAAM,MAAM,MAAM,KAAK,OAAO,GAAG,KAAK,OAAO,GAAG,IAAI,IAAI;AAAA,MACtD,QAAQ;AAAA,MACR,SAAS,KAAK,QAAQ,EAAE,QAAQ,oBAAoB,CAAC;AAAA,IACvD,CAAC;AAED,QAAI,CAAC,IAAI,IAAI;AACX,YAAM,MAAM,MAAM,IAAI,KAAK,EAAE,MAAM,OAAO,EAAE,SAAS,IAAI,WAAW,EAAE;AACtE,YAAM,IAAI,aAAa,IAAI,WAAW,IAAI,YAAY,IAAI,QAAQ,GAAG;AAAA,IACvE;AAEA,WAAO,KAAK,kBAAkB,GAAG;AAAA,EACnC;AAAA,EAEA,OAAe,kBAAkB,KAA4C;AAC3E,QAAI,CAAC,IAAI,KAAM,OAAM,IAAI,MAAM,kBAAkB;AACjD,UAAM,SAAS,IAAI,KAAK,UAAU;AAClC,UAAM,UAAU,IAAI,YAAY;AAChC,QAAI,SAAS;AAEb,WAAO,MAAM;AACX,YAAM,EAAE,MAAM,MAAM,IAAI,MAAM,OAAO,KAAK;AAC1C,UAAI,KAAM;AACV,gBAAU,QAAQ,OAAO,OAAO,EAAE,QAAQ,KAAK,CAAC;AAEhD,YAAM,QAAQ,OAAO,MAAM,IAAI;AAC/B,eAAS,MAAM,IAAI,KAAK;AAExB,iBAAW,QAAQ,OAAO;AACxB,YAAI,KAAK,WAAW,QAAQ,GAAG;AAC7B,gBAAM,MAAM,KAAK,MAAM,CAAC,EAAE,KAAK;AAC/B,cAAI,QAAQ,SAAU;AACtB,cAAI;AACF,kBAAM,QAAQ,KAAK,MAAM,GAAG;AAC5B,gBAAI,MAAM,SAAS,YAAa,OAAM;AACtC,gBAAI,MAAM,SAAS,WAAW,MAAM,SAAS,YAAa;AAAA,UAC5D,QAAQ;AAAA,UAER;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA;AAAA,EAIA,IAAI,MAAM;AACR,WAAO;AAAA;AAAA,MAEL,cAAc,CAAC,YACb,KAAK,QAAQ,OAAO,mCAAmC,OAAO,EAAE;AAAA;AAAA,MAGlE,UAAU,CAAC,SAAiB,WAC1B,KAAK,QAAQ,QAAQ,WAAW,OAAO,IAAI;AAAA,QACzC,SAAS;AAAA,QACT,IAAI,OAAO,MAAM,OAAO,KAAK,IAAI,CAAC;AAAA,QAClC,QAAQ;AAAA,QACR;AAAA,MACF,CAAC,EAAE,KAAK,CAAC,MAAW,EAAE,MAAiB;AAAA;AAAA,MAGzC,SAAS,CAAC,SAAiB,WACzB,KAAK,QAAQ,QAAQ,WAAW,OAAO,IAAI;AAAA,QACzC,SAAS;AAAA,QAAO,IAAI;AAAA,QAAQ,QAAQ;AAAA,QAAa,QAAQ,EAAE,IAAI,OAAO;AAAA,MACxE,CAAC,EAAE,KAAK,CAAC,MAAW,EAAE,MAAiB;AAAA;AAAA,MAGzC,YAAY,CAAC,SAAiB,WAC5B,KAAK,QAAQ,QAAQ,WAAW,OAAO,IAAI;AAAA,QACzC,SAAS;AAAA,QAAO,IAAI;AAAA,QAAQ,QAAQ;AAAA,QAAgB,QAAQ,EAAE,IAAI,OAAO;AAAA,MAC3E,CAAC,EAAE,KAAK,CAAC,MAAW,EAAE,MAAiB;AAAA;AAAA,MAGzC,WAAW,CAAC,SAAiB,UAC3B,KAAK,QAAQ,OAAO,WAAW,OAAO,SAAS,QAAQ,UAAU,KAAK,KAAK,EAAE,EAAE;AAAA;AAAA,MAGjF,QAAQ,CAAC,SAAiB,WACxB,KAAK,WAAW,WAAW,OAAO,UAAU,MAAM,SAAS;AAAA,IAC/D;AAAA,EACF;AAAA;AAAA,EAIA,IAAI,MAAM;AACR,WAAO;AAAA;AAAA,MAEL,aAAa,CAAC,SAAiB,cAC7B,KAAK,QAAQ,OAAO,2BAA2B,OAAO,cAAc,SAAS,EAAE;AAAA;AAAA,MAGjF,cAAc,CAAC,WASW;AACxB,cAAM,EAAE,SAAS,WAAW,GAAG,IAAI,IAAI;AACvC,eAAO,KAAK,QAAQ,QAAQ,2BAA2B,OAAO,cAAc,SAAS,IAAI,GAAG;AAAA,MAC9F;AAAA;AAAA,MAGA,WAAW,CAAC,aACV,KAAK,QAAQ,OAAO,mBAAmB,QAAQ,EAAE;AAAA;AAAA,MAGnD,cAAc,CAAC,aACb,KAAK,QAAQ,UAAU,mBAAmB,QAAQ,EAAE;AAAA;AAAA,MAGtD,SAAS,CAAC,aACR,KAAK,QAAQ,QAAQ,mBAAmB,QAAQ,UAAU;AAAA;AAAA,MAG5D,YAAY,CAAC,aACX,KAAK,QAAQ,QAAQ,mBAAmB,QAAQ,aAAa;AAAA;AAAA,MAG/D,MAAM,CAAC,aACL,KAAK,QAAQ,QAAQ,mBAAmB,QAAQ,SAAS,CAAC,CAAC;AAAA;AAAA,MAG7D,WAAW,CAAC,aACV,KAAK,QAAQ,OAAO,mBAAmB,QAAQ,QAAQ;AAAA;AAAA,MAGzD,kBAAkB,CAAC,SAAiB,cAClC,KAAK,QAAQ,OAAO,yBAAyB,OAAO,cAAc,SAAS,EAAE;AAAA;AAAA,MAG/E,eAAe,CAAC,aACd,KAAK,QAAQ,OAAO,mBAAmB,QAAQ,YAAY;AAAA;AAAA,MAG7D,cAAc,CAAC,UAAkB,QAC/B,KAAK,QAAQ,OAAO,mBAAmB,QAAQ,uBAAuB,mBAAmB,GAAG,CAAC,EAAE;AAAA;AAAA,MAGjG,aAAa,CAAC,aACZ,KAAK,QAAQ,OAAO,mBAAmB,QAAQ,UAAU;AAAA;AAAA,MAG3D,WAAW,CAAC,UAAkB,YAAoB,SAChD,KAAK,QAAQ,QAAQ,mBAAmB,QAAQ,YAAY,UAAU,IAAI,EAAE,WAAW,KAAK,CAAC;AAAA,IACjG;AAAA,EACF;AAAA;AAAA,EAIA,IAAI,SAAS;AACX,WAAO;AAAA;AAAA,MAEL,MAAM,CACJ,SACA,SACqC;AACrC,cAAM,SAAS,IAAI,gBAAgB;AACnC,YAAI,MAAM,KAAO,QAAO,IAAI,QAAQ,KAAK,IAAI;AAC7C,YAAI,MAAM,MAAO,QAAO,IAAI,SAAS,OAAO,KAAK,KAAK,CAAC;AACvD,cAAM,KAAK,OAAO,SAAS;AAC3B,eAAO,KAAK,QAAQ,OAAO,qBAAqB,OAAO,GAAG,KAAK,IAAI,EAAE,KAAK,EAAE,EAAE;AAAA,MAChF;AAAA;AAAA,MAGA,OAAO,CAAC,YACN,KAAK,QAAQ,OAAO,qBAAqB,OAAO,QAAQ;AAAA;AAAA,MAG1D,UAAU,CACR,SACA,OACA,UACqC;AACrC,cAAM,SAAS,IAAI,gBAAgB,EAAE,GAAG,MAAM,CAAC;AAC/C,YAAI,MAAO,QAAO,IAAI,SAAS,OAAO,KAAK,CAAC;AAC5C,eAAO,KAAK,QAAQ,OAAO,qBAAqB,OAAO,aAAa,MAAM,EAAE;AAAA,MAC9E;AAAA;AAAA,MAGA,KAAK,CAAC,aACJ,KAAK,QAAQ,OAAO,cAAc,QAAQ,EAAE;AAAA;AAAA,MAG9C,QAAQ,CAAC,WACP,KAAK,QAAQ,QAAQ,cAAc,MAAM;AAAA;AAAA,MAG3C,QAAQ,CAAC,UAAkB,WACzB,KAAK,QAAQ,SAAS,cAAc,QAAQ,IAAI,MAAM;AAAA;AAAA,MAGxD,QAAQ,CAAC,aACP,KAAK,QAAQ,UAAU,cAAc,QAAQ,EAAE;AAAA,IACnD;AAAA,EACF;AAAA;AAAA,EAIA,IAAI,QAAQ;AACV,WAAO;AAAA;AAAA,MAEL,eAAe,CACb,SACA,SACwC;AACxC,cAAM,SAAS,IAAI,gBAAgB;AACnC,YAAI,MAAM,KAAM,QAAO,IAAI,QAAQ,KAAK,IAAI;AAC5C,YAAI,MAAM,GAAM,QAAO,IAAI,MAAQ,KAAK,EAAE;AAC1C,cAAM,KAAK,OAAO,SAAS;AAC3B,eAAO,KAAK,QAAQ,OAAO,oBAAoB,OAAO,GAAG,KAAK,IAAI,EAAE,KAAK,EAAE,EAAE;AAAA,MAC/E;AAAA;AAAA,MAGA,iBAAiB,CAAC,cAChB,KAAK,QAAQ,OAAO,sBAAsB,SAAS,EAAE;AAAA,IACzD;AAAA,EACF;AACF;AAIO,IAAM,eAAN,cAA2B,MAAM;AAAA,EACtC,YACE,SACgB,QACA,MAChB;AACA,UAAM,OAAO;AAHG;AACA;AAGhB,SAAK,OAAO;AAAA,EACd;AACF;","names":[]}
1
+ {"version":3,"sources":["../src/client.ts"],"sourcesContent":["import {\n Agent, CreateAgentParams,\n RunParams, StreamEvent,\n Workflow, WorkflowExecution,\n Task, CreateTaskParams,\n Tool, CreateToolParams,\n ToolKey, CreateToolKeyParams,\n ToolPermission,\n CommonsClientConfig,\n AgentCard, A2ATask, A2ASendTaskParams,\n McpServer, McpResource, McpPrompt, McpConnectionType,\n Skill, SkillIndex, CreateSkillParams,\n UsageAggregation,\n AgentMemory, MemoryStats, MemoryType,\n CreateMemoryParams, UpdateMemoryParams,\n AgentWallet, WalletBalance, CreateWalletParams,\n ApiKey, CreatedApiKey, CreateApiKeyParams, ApiKeyPrincipalType,\n} from './types';\n\nexport class CommonsClient {\n private readonly baseUrl: string;\n private readonly apiKey?: string;\n private readonly initiator?: string;\n private readonly _fetch: typeof fetch;\n\n constructor(config: CommonsClientConfig) {\n this.baseUrl = config.baseUrl.replace(/\\/$/, '');\n this.apiKey = config.apiKey;\n this.initiator = config.initiator;\n this._fetch = config.fetch ?? fetch;\n }\n\n // ── Helpers ───────────────────────────────────────────────────────────────\n\n private headers(extra?: Record<string, string>): Record<string, string> {\n const h: Record<string, string> = { 'Content-Type': 'application/json' };\n if (this.apiKey) h['Authorization'] = `Bearer ${this.apiKey}`;\n if (this.initiator) h['x-initiator'] = this.initiator;\n return { ...h, ...extra };\n }\n\n private async request<T>(method: string, path: string, body?: unknown): Promise<T> {\n const res = await this._fetch(`${this.baseUrl}${path}`, {\n method,\n headers: this.headers(),\n body: body !== undefined ? JSON.stringify(body) : undefined,\n });\n if (!res.ok) {\n const err = await res.json().catch(() => ({ message: res.statusText }));\n throw new CommonsError(err.message ?? res.statusText, res.status, err);\n }\n return res.json() as Promise<T>;\n }\n\n // ── Models ────────────────────────────────────────────────────────────────\n\n get models() {\n return {\n /** List all available LLM models from the registry */\n list: (): Promise<{ data: any[]; grouped: Record<string, any[]> }> =>\n this.request('GET', '/v1/models'),\n };\n }\n\n // ── Agents ────────────────────────────────────────────────────────────────\n\n get agents() {\n return {\n create: (params: CreateAgentParams): Promise<{ data: Agent }> =>\n this.request('POST', '/v1/agents', params),\n\n list: (owner?: string): Promise<{ data: Agent[] }> =>\n this.request('GET', `/v1/agents${owner ? `?owner=${owner}` : ''}`),\n\n get: (agentId: string): Promise<{ data: Agent }> =>\n this.request('GET', `/v1/agents/${agentId}`),\n\n update: (agentId: string, params: Partial<CreateAgentParams>): Promise<{ data: Agent }> =>\n this.request('PUT', `/v1/agents/${agentId}`, params),\n\n /** List tools assigned to an agent. */\n listTools: (agentId: string): Promise<{ data: any[] }> =>\n this.request('GET', `/v1/agents/${agentId}/tools`),\n\n /** Assign a tool to an agent. */\n addTool: (agentId: string, params: { toolId: string; usageComments?: string }): Promise<{ data: any }> =>\n this.request('POST', `/v1/agents/${agentId}/tools`, params),\n\n /** Remove a tool assignment from an agent. */\n removeTool: (assignmentId: string): Promise<void> =>\n this.request('DELETE', `/v1/agents/tools/${assignmentId}`),\n\n /** Create a liaison agent for an external agent. */\n createLiaison: (params: Record<string, any>): Promise<any> =>\n this.request('POST', '/v1/liaison', params),\n\n /**\n * Stream an agent run. Returns an async generator of StreamEvents.\n * Works in Node.js, browsers, and Edge runtimes.\n *\n * @example\n * for await (const event of client.agents.stream({ agentId, messages })) {\n * if (event.type === 'token') process.stdout.write(event.content ?? '');\n * }\n */\n stream: (params: RunParams): AsyncGenerator<StreamEvent> =>\n this._streamAgentRun(params),\n\n // ── Autonomy / Heartbeat ─────────────────────────────────────────────\n\n /** Get the current heartbeat/autonomy status for an agent. */\n getAutonomy: (agentId: string): Promise<{\n data: {\n enabled: boolean;\n intervalSec: number;\n isArmed: boolean;\n lastBeatAt: string | null;\n nextBeatAt: string | null;\n };\n }> => this.request('GET', `/v1/agents/${agentId}/autonomy`),\n\n /** Enable or disable the heartbeat, optionally setting the interval. */\n setAutonomy: (\n agentId: string,\n params: { enabled: boolean; intervalSec?: number },\n ): Promise<{ data: { enabled: boolean; intervalSec: number; isArmed: boolean } }> =>\n this.request('PUT', `/v1/agents/${agentId}/autonomy`, params),\n\n /** Trigger a single heartbeat beat immediately. */\n triggerHeartbeat: (agentId: string): Promise<{ message: string }> =>\n this.request('POST', `/v1/agents/${agentId}/autonomy/trigger`),\n };\n }\n\n // ── Run (non-streaming) ───────────────────────────────────────────────────\n\n get run() {\n return {\n once: (params: RunParams): Promise<any> =>\n this.request('POST', '/v1/agents/run', params),\n };\n }\n\n // ── Workflows ─────────────────────────────────────────────────────────────\n\n get workflows() {\n return {\n create: (params: {\n name: string;\n description?: string;\n definition: any;\n ownerId: string;\n ownerType: 'user' | 'agent';\n isPublic?: boolean;\n category?: string;\n tags?: string[];\n }): Promise<Workflow> => this.request('POST', '/v1/workflows', params),\n\n list: (ownerId: string, ownerType: 'user' | 'agent'): Promise<Workflow[]> =>\n this.request('GET', `/v1/workflows?ownerId=${ownerId}&ownerType=${ownerType}`),\n\n get: (workflowId: string): Promise<Workflow> =>\n this.request('GET', `/v1/workflows/${workflowId}`),\n\n update: (workflowId: string, updates: Partial<Workflow>): Promise<Workflow> =>\n this.request('PUT', `/v1/workflows/${workflowId}`, updates),\n\n delete: (workflowId: string): Promise<{ success: boolean }> =>\n this.request('DELETE', `/v1/workflows/${workflowId}`),\n\n execute: (workflowId: string, params: {\n agentId?: string;\n sessionId?: string;\n inputData?: Record<string, any>;\n userId?: string;\n }): Promise<WorkflowExecution> =>\n this.request('POST', `/v1/workflows/${workflowId}/execute`, params),\n\n getExecution: (workflowId: string, executionId: string): Promise<WorkflowExecution> =>\n this.request('GET', `/v1/workflows/${workflowId}/executions/${executionId}`),\n\n listExecutions: (workflowId: string, limit?: number): Promise<WorkflowExecution[]> =>\n this.request('GET', `/v1/workflows/${workflowId}/executions${limit ? `?limit=${limit}` : ''}`),\n\n cancelExecution: (workflowId: string, executionId: string): Promise<{ success: boolean }> =>\n this.request('POST', `/v1/workflows/${workflowId}/executions/${executionId}/cancel`),\n\n /** Approve a paused human_approval node and resume execution. */\n approveExecution: (workflowId: string, executionId: string, params: {\n approvalToken: string;\n approvalData?: Record<string, any>;\n }): Promise<{ success: boolean; executionId: string; action: string }> =>\n this.request('POST', `/v1/workflows/${workflowId}/executions/${executionId}/approve`, params),\n\n /** Reject a paused human_approval node and terminate execution. */\n rejectExecution: (workflowId: string, executionId: string, params: {\n approvalToken: string;\n reason?: string;\n }): Promise<{ success: boolean; executionId: string; action: string }> =>\n this.request('POST', `/v1/workflows/${workflowId}/executions/${executionId}/reject`, params),\n\n /** Stream execution progress via SSE. Returns an async generator. */\n stream: (workflowId: string, executionId: string): AsyncGenerator<StreamEvent> =>\n this._streamSse(`/v1/workflows/${workflowId}/executions/${executionId}/stream`),\n };\n }\n\n // ── Tasks ─────────────────────────────────────────────────────────────────\n\n get tasks() {\n return {\n create: (params: CreateTaskParams): Promise<{ data: Task }> =>\n this.request('POST', '/v1/tasks', params),\n\n list: (filter: { sessionId?: string; agentId?: string; ownerId?: string; ownerType?: 'user' | 'agent' }): Promise<{ data: Task[] }> => {\n const q = new URLSearchParams(filter as any).toString();\n return this.request('GET', `/v1/tasks?${q}`);\n },\n\n get: (taskId: string): Promise<{ data: Task }> =>\n this.request('GET', `/v1/tasks/${taskId}`),\n\n execute: (taskId: string): Promise<{ success: boolean; data: any }> =>\n this.request('POST', `/v1/tasks/${taskId}/execute`),\n\n cancel: (taskId: string): Promise<{ success: boolean }> =>\n this.request('POST', `/v1/tasks/${taskId}/cancel`),\n\n delete: (taskId: string): Promise<{ success: boolean }> =>\n this.request('DELETE', `/v1/tasks/${taskId}`),\n\n /** Stream task status updates via SSE. Returns an async generator. */\n stream: (taskId: string): AsyncGenerator<StreamEvent> =>\n this._streamSse(`/v1/tasks/${taskId}/stream`),\n };\n }\n\n // ── Sessions ──────────────────────────────────────────────────────────────\n\n get sessions() {\n return {\n list: (agentId: string, initiatorId: string): Promise<{ data: import('./types').Session[] }> =>\n this.request('GET', `/v1/sessions/list/${agentId}/${initiatorId}`),\n\n /** List all sessions for a user across all agents. */\n listByUser: (initiator: string): Promise<{ data: import('./types').Session[] }> =>\n this.request('GET', `/v1/sessions/user/${encodeURIComponent(initiator)}`),\n\n create: (params: {\n agentId: string;\n initiator: string;\n title?: string;\n model?: Record<string, any>;\n }): Promise<{ data: import('./types').Session }> =>\n this.request('POST', '/v1/sessions', params),\n\n get: (sessionId: string): Promise<{ data: import('./types').Session }> =>\n this.request('GET', `/v1/sessions/${sessionId}`),\n\n /** Get full session with history, tasks, childSessions, and spaces. */\n getFull: (sessionId: string): Promise<{ data: any }> =>\n this.request('GET', `/v1/sessions/${sessionId}/full`),\n };\n }\n\n // ── Tools ─────────────────────────────────────────────────────────────────\n\n get tools() {\n return {\n list: (filter?: { agentId?: string; owner?: string; ownerType?: string; visibility?: string }): Promise<{ data: Tool[] }> => {\n const q = filter ? new URLSearchParams(filter as any).toString() : '';\n return this.request('GET', `/v1/tools${q ? `?${q}` : ''}`);\n },\n\n get: (toolId: string): Promise<{ data: Tool }> =>\n this.request('GET', `/v1/tools/${toolId}`),\n\n create: (params: CreateToolParams): Promise<{ data: Tool }> =>\n this.request('POST', '/v1/tools', params),\n\n update: (toolId: string, params: Partial<CreateToolParams>): Promise<{ data: Tool }> =>\n this.request('PUT', `/v1/tools/${toolId}`, params),\n\n delete: (toolId: string): Promise<{ success: boolean }> =>\n this.request('DELETE', `/v1/tools/${toolId}`),\n\n /** List built-in static tools available to all agents. */\n listStatic: (): Promise<{ data: Tool[] }> =>\n this.request('GET', '/v1/tools/static'),\n };\n }\n\n // ── Tool Keys ─────────────────────────────────────────────────────────────\n\n get toolKeys() {\n return {\n list: (filter: { ownerId?: string; ownerType?: string; toolId?: string }): Promise<{ success: boolean; data: ToolKey[] }> => {\n const q = new URLSearchParams(filter as any).toString();\n return this.request('GET', `/v1/tool-keys${q ? `?${q}` : ''}`);\n },\n\n create: (params: CreateToolKeyParams): Promise<{ success: boolean; data: ToolKey }> =>\n this.request('POST', '/v1/tool-keys', params),\n\n delete: (keyId: string): Promise<{ success: boolean }> =>\n this.request('DELETE', `/v1/tool-keys/${keyId}`),\n };\n }\n\n // ── Tool Permissions ──────────────────────────────────────────────────────\n\n get toolPermissions() {\n return {\n list: (toolId?: string): Promise<{ success: boolean; data: ToolPermission[] }> => {\n const q = toolId ? `?toolId=${toolId}` : '';\n return this.request('GET', `/v1/tool-permissions${q}`);\n },\n\n grant: (params: {\n toolId: string;\n subjectId: string;\n subjectType: 'user' | 'agent';\n permission: 'read' | 'execute' | 'admin';\n grantedBy?: string;\n }): Promise<{ success: boolean; data: ToolPermission }> =>\n this.request('POST', '/v1/tool-permissions/grant', params),\n\n revoke: (permissionId: string): Promise<{ success: boolean }> =>\n this.request('DELETE', `/v1/tool-permissions/revoke/${permissionId}`),\n };\n }\n\n // ── Skills ────────────────────────────────────────────────────────────────\n\n get skills() {\n return {\n list: (filter?: { ownerId?: string; ownerType?: string; isPublic?: boolean }): Promise<{ data: Skill[] }> => {\n const params = new URLSearchParams();\n if (filter?.ownerId) params.set('ownerId', filter.ownerId);\n if (filter?.ownerType) params.set('ownerType', filter.ownerType);\n if (filter?.isPublic !== undefined) params.set('isPublic', String(filter.isPublic));\n const qs = params.toString();\n return this.request('GET', `/v1/skills${qs ? `?${qs}` : ''}`);\n },\n\n get: (skillIdOrSlug: string): Promise<{ data: Skill }> =>\n this.request('GET', `/v1/skills/${skillIdOrSlug}`),\n\n getIndex: (ownerId?: string): Promise<{ data: SkillIndex[] }> => {\n const qs = ownerId ? `?ownerId=${ownerId}` : '';\n return this.request('GET', `/v1/skills/index${qs}`);\n },\n\n create: (params: CreateSkillParams): Promise<{ data: Skill }> =>\n this.request('POST', '/v1/skills', params),\n\n update: (skillIdOrSlug: string, updates: Partial<CreateSkillParams>): Promise<{ data: Skill }> =>\n this.request('PUT', `/v1/skills/${skillIdOrSlug}`, updates),\n\n delete: (skillIdOrSlug: string): Promise<{ deleted: boolean }> =>\n this.request('DELETE', `/v1/skills/${skillIdOrSlug}`),\n };\n }\n\n // ── Wallets ───────────────────────────────────────────────────────────────\n\n get wallets() {\n return {\n /** List all wallets for an agent. */\n list: (agentId: string): Promise<AgentWallet[]> =>\n this.request('GET', `/v1/wallets/agent/${agentId}`),\n\n /** Get the primary active wallet for an agent. */\n primary: (agentId: string): Promise<AgentWallet | null> =>\n this.request('GET', `/v1/wallets/agent/${agentId}/primary`),\n\n /** Get a specific wallet by ID. */\n get: (walletId: string): Promise<AgentWallet> =>\n this.request('GET', `/v1/wallets/${walletId}`),\n\n /** Create a new wallet for an agent. */\n create: (params: CreateWalletParams): Promise<AgentWallet> =>\n this.request('POST', '/v1/wallets', params),\n\n /** Get USDC and native token balance for a wallet. */\n balance: (walletId: string): Promise<WalletBalance> =>\n this.request('GET', `/v1/wallets/${walletId}/balance`),\n\n /** Transfer USDC or ETH to another address. */\n transfer: (\n walletId: string,\n params: { toAddress: string; amount: string; tokenSymbol?: 'USDC' | 'ETH' },\n ): Promise<{ txHash: string }> =>\n this.request('POST', `/v1/wallets/${walletId}/transfer`, params),\n\n /**\n * Proxy an HTTP request through an agent's primary wallet, automatically\n * handling x402 payment challenges. The wallet signs the payment and\n * retries once if the target responds with HTTP 402.\n */\n x402Fetch: (\n agentId: string,\n params: {\n url: string;\n method?: string;\n headers?: Record<string, string>;\n body?: string;\n },\n ): Promise<{ status: number; body: unknown }> =>\n this.request('POST', `/v1/wallets/agent/${agentId}/x402-fetch`, params),\n\n /** Deactivate a wallet. */\n deactivate: (walletId: string): Promise<void> =>\n this.request('DELETE', `/v1/wallets/${walletId}`),\n };\n }\n\n // ── API Keys ──────────────────────────────────────────────────────────────\n\n get apiKeys() {\n return {\n /**\n * Generate a new API key for a principal (user or agent).\n * The plaintext key is returned only in this response — never again.\n */\n create: (params: CreateApiKeyParams): Promise<CreatedApiKey> =>\n this.request('POST', '/v1/auth/api-keys', params),\n\n /** List all active API keys for a principal (key values not included). */\n list: (principalId: string, principalType: ApiKeyPrincipalType): Promise<ApiKey[]> => {\n const q = new URLSearchParams({ principalId, principalType }).toString();\n return this.request('GET', `/v1/auth/api-keys?${q}`);\n },\n\n /** Revoke (soft-delete) an API key by its UUID. */\n revoke: (id: string): Promise<{ revoked: boolean }> =>\n this.request('DELETE', `/v1/auth/api-keys/${id}`),\n };\n }\n\n // ── SSE Streaming internals ───────────────────────────────────────────────\n\n private async *_streamAgentRun(params: RunParams): AsyncGenerator<StreamEvent> {\n const res = await this._fetch(`${this.baseUrl}/v1/agents/run/stream`, {\n method: 'POST',\n headers: this.headers(),\n body: JSON.stringify(params),\n });\n\n if (!res.ok) {\n const err = await res.json().catch(() => ({ message: res.statusText }));\n throw new CommonsError(err.message ?? res.statusText, res.status, err);\n }\n\n yield* this._parseEventStream(res);\n }\n\n private async *_streamSse(path: string): AsyncGenerator<StreamEvent> {\n const res = await this._fetch(`${this.baseUrl}${path}`, {\n method: 'GET',\n headers: this.headers({ Accept: 'text/event-stream' }),\n });\n\n if (!res.ok) {\n const err = await res.json().catch(() => ({ message: res.statusText }));\n throw new CommonsError(err.message ?? res.statusText, res.status, err);\n }\n\n yield* this._parseEventStream(res);\n }\n\n private async *_parseEventStream(res: Response): AsyncGenerator<StreamEvent> {\n if (!res.body) throw new Error('No response body');\n const reader = res.body.getReader();\n const decoder = new TextDecoder();\n let buffer = '';\n\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n buffer += decoder.decode(value, { stream: true });\n\n const lines = buffer.split('\\n');\n buffer = lines.pop() ?? '';\n\n for (const line of lines) {\n if (line.startsWith('data: ')) {\n const raw = line.slice(6).trim();\n if (raw === '[DONE]') return;\n try {\n const event = JSON.parse(raw) as StreamEvent;\n if (event.type !== 'heartbeat') yield event;\n if (event.type === 'final' || event.type === 'completed') return;\n } catch {\n // Ignore malformed lines\n }\n }\n }\n }\n }\n\n // ── A2A ───────────────────────────────────────────────────────────────────\n\n get a2a() {\n return {\n /** Fetch the A2A Agent Card for an agent. */\n getAgentCard: (agentId: string): Promise<AgentCard> =>\n this.request('GET', `/.well-known/agent.json?agentId=${agentId}`),\n\n /** Send a task to an agent (synchronous, waits for completion). */\n sendTask: (agentId: string, params: A2ASendTaskParams): Promise<A2ATask> =>\n this.request('POST', `/v1/a2a/${agentId}`, {\n jsonrpc: '2.0',\n id: params.id ?? `sdk-${Date.now()}`,\n method: 'tasks/send',\n params,\n }).then((r: any) => r.result as A2ATask),\n\n /** Get A2A task status. */\n getTask: (agentId: string, taskId: string): Promise<A2ATask> =>\n this.request('POST', `/v1/a2a/${agentId}`, {\n jsonrpc: '2.0', id: taskId, method: 'tasks/get', params: { id: taskId },\n }).then((r: any) => r.result as A2ATask),\n\n /** Cancel a running A2A task. */\n cancelTask: (agentId: string, taskId: string): Promise<A2ATask> =>\n this.request('POST', `/v1/a2a/${agentId}`, {\n jsonrpc: '2.0', id: taskId, method: 'tasks/cancel', params: { id: taskId },\n }).then((r: any) => r.result as A2ATask),\n\n /** List recent A2A tasks for an agent. */\n listTasks: (agentId: string, limit?: number): Promise<{ tasks: A2ATask[]; total: number }> =>\n this.request('GET', `/v1/a2a/${agentId}/tasks${limit ? `?limit=${limit}` : ''}`),\n\n /** Stream A2A task updates (SSE). */\n stream: (agentId: string, taskId: string): AsyncGenerator<StreamEvent> =>\n this._streamSse(`/v1/a2a/${agentId}/tasks/${taskId}/stream`),\n };\n }\n\n // ── MCP ───────────────────────────────────────────────────────────────────\n\n get mcp() {\n return {\n /** List MCP servers for an owner. */\n listServers: (ownerId: string, ownerType: 'user' | 'agent'): Promise<{ servers: McpServer[]; total: number }> =>\n this.request('GET', `/v1/mcp/servers?ownerId=${ownerId}&ownerType=${ownerType}`),\n\n /** Create a new MCP server. */\n createServer: (params: {\n name: string;\n description?: string;\n connectionType: McpConnectionType;\n connectionConfig: Record<string, any>;\n isPublic?: boolean;\n tags?: string[];\n ownerId: string;\n ownerType: 'user' | 'agent';\n }): Promise<McpServer> => {\n const { ownerId, ownerType, ...dto } = params;\n return this.request('POST', `/v1/mcp/servers?ownerId=${ownerId}&ownerType=${ownerType}`, dto);\n },\n\n /** Get MCP server by ID. */\n getServer: (serverId: string): Promise<McpServer> =>\n this.request('GET', `/v1/mcp/servers/${serverId}`),\n\n /** Delete an MCP server. */\n deleteServer: (serverId: string): Promise<void> =>\n this.request('DELETE', `/v1/mcp/servers/${serverId}`),\n\n /** Connect to an MCP server. */\n connect: (serverId: string): Promise<{ connected: boolean }> =>\n this.request('POST', `/v1/mcp/servers/${serverId}/connect`),\n\n /** Disconnect from an MCP server. */\n disconnect: (serverId: string): Promise<void> =>\n this.request('POST', `/v1/mcp/servers/${serverId}/disconnect`),\n\n /** Sync tools + resources + prompts from the MCP server. */\n sync: (serverId: string): Promise<{ toolsDiscovered: number; resourcesDiscovered: number; promptsDiscovered: number }> =>\n this.request('POST', `/v1/mcp/servers/${serverId}/sync`, {}),\n\n /** List tools discovered from an MCP server. */\n listTools: (serverId: string): Promise<{ tools: any[]; total: number }> =>\n this.request('GET', `/v1/mcp/servers/${serverId}/tools`),\n\n /** List all MCP tools across all servers for a given owner. */\n listToolsByOwner: (ownerId: string, ownerType: 'user' | 'agent'): Promise<{ tools: any[] }> =>\n this.request('GET', `/v1/mcp/tools?ownerId=${ownerId}&ownerType=${ownerType}`),\n\n /** List resources from an MCP server. */\n listResources: (serverId: string): Promise<{ resources: McpResource[]; total: number }> =>\n this.request('GET', `/v1/mcp/servers/${serverId}/resources`),\n\n /** Read a resource by URI. */\n readResource: (serverId: string, uri: string): Promise<{ uri: string; contents: any }> =>\n this.request('GET', `/v1/mcp/servers/${serverId}/resources/read?uri=${encodeURIComponent(uri)}`),\n\n /** List prompts from an MCP server. */\n listPrompts: (serverId: string): Promise<{ prompts: McpPrompt[]; total: number }> =>\n this.request('GET', `/v1/mcp/servers/${serverId}/prompts`),\n\n /** Render a prompt with arguments. */\n getPrompt: (serverId: string, promptName: string, args?: Record<string, string>): Promise<{ description?: string; messages: any[] }> =>\n this.request('POST', `/v1/mcp/servers/${serverId}/prompts/${promptName}`, { arguments: args }),\n };\n }\n\n // ── Memory ────────────────────────────────────────────────────────────────\n\n get memory() {\n return {\n /** List all memories for an agent. */\n list: (\n agentId: string,\n opts?: { type?: MemoryType; limit?: number },\n ): Promise<{ data: AgentMemory[] }> => {\n const params = new URLSearchParams();\n if (opts?.type) params.set('type', opts.type);\n if (opts?.limit) params.set('limit', String(opts.limit));\n const qs = params.toString();\n return this.request('GET', `/v1/memory/agents/${agentId}${qs ? `?${qs}` : ''}`);\n },\n\n /** Get memory stats for an agent. */\n stats: (agentId: string): Promise<{ data: MemoryStats }> =>\n this.request('GET', `/v1/memory/agents/${agentId}/stats`),\n\n /** Retrieve memories most relevant to a query. */\n retrieve: (\n agentId: string,\n query: string,\n limit?: number,\n ): Promise<{ data: AgentMemory[] }> => {\n const params = new URLSearchParams({ q: query });\n if (limit) params.set('limit', String(limit));\n return this.request('GET', `/v1/memory/agents/${agentId}/retrieve?${params}`);\n },\n\n /** Get a single memory by ID. */\n get: (memoryId: string): Promise<{ data: AgentMemory }> =>\n this.request('GET', `/v1/memory/${memoryId}`),\n\n /** Manually create a memory. */\n create: (params: CreateMemoryParams): Promise<{ data: AgentMemory }> =>\n this.request('POST', '/v1/memory', params),\n\n /** Update a memory. */\n update: (memoryId: string, params: UpdateMemoryParams): Promise<{ data: AgentMemory }> =>\n this.request('PATCH', `/v1/memory/${memoryId}`, params),\n\n /** Soft-delete (deactivate) a memory. */\n delete: (memoryId: string): Promise<void> =>\n this.request('DELETE', `/v1/memory/${memoryId}`),\n };\n }\n\n // ── Usage / Observability ─────────────────────────────────────────────────\n\n get usage() {\n return {\n /** Get aggregated token + cost usage for an agent. */\n getAgentUsage: (\n agentId: string,\n opts?: { from?: string; to?: string },\n ): Promise<{ data: UsageAggregation }> => {\n const params = new URLSearchParams();\n if (opts?.from) params.set('from', opts.from);\n if (opts?.to) params.set('to', opts.to);\n const qs = params.toString();\n return this.request('GET', `/v1/usage/agents/${agentId}${qs ? `?${qs}` : ''}`);\n },\n\n /** Get aggregated token + cost usage for a session. */\n getSessionUsage: (sessionId: string): Promise<{ data: UsageAggregation }> =>\n this.request('GET', `/v1/usage/sessions/${sessionId}`),\n };\n }\n}\n\n// ─── Error ────────────────────────────────────────────────────────────────────\n\nexport class CommonsError extends Error {\n constructor(\n message: string,\n public readonly status: number,\n public readonly data?: unknown,\n ) {\n super(message);\n this.name = 'CommonsError';\n }\n}\n"],"mappings":"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","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-commons/sdk",
3
- "version": "0.1.3",
3
+ "version": "0.1.5",
4
4
  "description": "Typed client SDK for the Agent Commons API",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.mjs",