@nimblebrain/sdk
Advanced tools
+0
-2
@@ -1,5 +0,3 @@ | ||
| export { NimbleBrain } from './nimblebrain'; | ||
| export type { NimbleBrainConfig, Agent, Playbook, Conversation, Message, SendMessageResponse, ExecutePlaybookResponse, Execution, StreamEvent, WaitForCompletionOptions, } from './nimblebrain'; | ||
| export type * from './types.gen'; | ||
| export * from './sdk.gen'; | ||
| //# sourceMappingURL=index.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EACV,iBAAiB,EACjB,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,OAAO,EACP,mBAAmB,EACnB,uBAAuB,EACvB,SAAS,EACT,WAAW,EACX,wBAAwB,GACzB,MAAM,eAAe,CAAC;AAGvB,mBAAmB,aAAa,CAAC;AACjC,cAAc,WAAW,CAAC"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,mBAAmB,aAAa,CAAC;AACjC,cAAc,WAAW,CAAC"} |
+1
-2
@@ -1,4 +0,3 @@ | ||
| // High-level SDK (recommended) | ||
| export { NimbleBrain } from './nimblebrain'; | ||
| // This file is auto-generated by @hey-api/openapi-ts | ||
| export * from './sdk.gen'; | ||
| //# sourceMappingURL=index.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAgB5C,cAAc,WAAW,CAAC"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qDAAqD;AAGrD,cAAc,WAAW,CAAC"} |
+28
-36
| import type { Client, Options as Options2, TDataShape } from './client'; | ||
| import type { GetV1AgentsByAgentIdConversationsByConversationIdData, GetV1AgentsByAgentIdConversationsByConversationIdMessagesData, GetV1AgentsByAgentIdConversationsByConversationIdMessagesResponses, GetV1AgentsByAgentIdConversationsByConversationIdResponses, GetV1AgentsData, GetV1AgentsErrors, GetV1AgentsResponses, GetV1ExecutionsByIdData, GetV1ExecutionsByIdResponses, GetV1PlaybooksData, GetV1PlaybooksResponses, PostV1AgentsByAgentIdConversationsByConversationIdMessagesData, PostV1AgentsByAgentIdConversationsByConversationIdMessagesResponses, PostV1AgentsByAgentIdConversationsData, PostV1AgentsByAgentIdConversationsResponses, PostV1PlaybooksByPlaybookIdExecuteData, PostV1PlaybooksByPlaybookIdExecuteResponses } from './types.gen'; | ||
| import type { GetV1ExecutionsByIdData, GetV1ExecutionsByIdResponses, GetV1MeData, GetV1MeErrors, GetV1MeResponses, GetV1NiraConversationsByIdData, GetV1NiraConversationsByIdMessagesData, GetV1NiraConversationsByIdMessagesResponses, GetV1NiraConversationsByIdResponses, GetV1PlaybooksData, GetV1PlaybooksResponses, GetV1WorkspacesData, GetV1WorkspacesErrors, GetV1WorkspacesResponses, PostV1NiraConversationsByIdMessagesData, PostV1NiraConversationsByIdMessagesResponses, PostV1NiraConversationsData, PostV1NiraConversationsResponses, PostV1PlaybooksByPlaybookIdExecuteData, PostV1PlaybooksByPlaybookIdExecuteResponses } from './types.gen'; | ||
| export type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean> = Options2<TData, ThrowOnError> & { | ||
@@ -17,8 +17,14 @@ /** | ||
| /** | ||
| * List agents | ||
| * Get current user | ||
| * | ||
| * Get a list of all agents available in your workspace | ||
| * Returns the authenticated user profile, organization, and available workspaces. Requires Clerk JWT authentication (not API key). | ||
| */ | ||
| export declare const getV1Agents: <ThrowOnError extends boolean = false>(options?: Options<GetV1AgentsData, ThrowOnError>) => import("./client").RequestResult<GetV1AgentsResponses, GetV1AgentsErrors, ThrowOnError, "fields">; | ||
| export declare const getV1Me: <ThrowOnError extends boolean = false>(options?: Options<GetV1MeData, ThrowOnError>) => import("./client").RequestResult<GetV1MeResponses, GetV1MeErrors, ThrowOnError, "fields">; | ||
| /** | ||
| * List workspaces | ||
| * | ||
| * Returns workspaces accessible to the authenticated user. Requires Clerk JWT authentication (not API key). | ||
| */ | ||
| export declare const getV1Workspaces: <ThrowOnError extends boolean = false>(options?: Options<GetV1WorkspacesData, ThrowOnError>) => import("./client").RequestResult<GetV1WorkspacesResponses, GetV1WorkspacesErrors, ThrowOnError, "fields">; | ||
| /** | ||
| * List playbooks | ||
@@ -30,51 +36,37 @@ * | ||
| /** | ||
| * Create conversation with agent | ||
| * Execute playbook | ||
| * | ||
| * Start a new conversation with a specific agent | ||
| * Execute a playbook with optional parameters | ||
| */ | ||
| export declare const postV1AgentsByAgentIdConversations: <ThrowOnError extends boolean = false>(options: Options<PostV1AgentsByAgentIdConversationsData, ThrowOnError>) => import("./client").RequestResult<PostV1AgentsByAgentIdConversationsResponses, unknown, ThrowOnError, "fields">; | ||
| export declare const postV1PlaybooksByPlaybookIdExecute: <ThrowOnError extends boolean = false>(options: Options<PostV1PlaybooksByPlaybookIdExecuteData, ThrowOnError>) => import("./client").RequestResult<PostV1PlaybooksByPlaybookIdExecuteResponses, unknown, ThrowOnError, "fields">; | ||
| /** | ||
| * Get conversation | ||
| * Get execution status | ||
| * | ||
| * Get details of a specific conversation with an agent | ||
| * Poll execution status and retrieve results. Use the ID returned from POST /v1/playbooks/:id/execute | ||
| */ | ||
| export declare const getV1AgentsByAgentIdConversationsByConversationId: <ThrowOnError extends boolean = false>(options: Options<GetV1AgentsByAgentIdConversationsByConversationIdData, ThrowOnError>) => import("./client").RequestResult<GetV1AgentsByAgentIdConversationsByConversationIdResponses, unknown, ThrowOnError, "fields">; | ||
| export declare const getV1ExecutionsById: <ThrowOnError extends boolean = false>(options: Options<GetV1ExecutionsByIdData, ThrowOnError>) => import("./client").RequestResult<GetV1ExecutionsByIdResponses, unknown, ThrowOnError, "fields">; | ||
| /** | ||
| * List messages | ||
| * Create conversation | ||
| * | ||
| * Get messages in a conversation with an agent | ||
| * Create a new conversation with Nira. Optionally provide context for personalization. | ||
| */ | ||
| export declare const getV1AgentsByAgentIdConversationsByConversationIdMessages: <ThrowOnError extends boolean = false>(options: Options<GetV1AgentsByAgentIdConversationsByConversationIdMessagesData, ThrowOnError>) => import("./client").RequestResult<GetV1AgentsByAgentIdConversationsByConversationIdMessagesResponses, unknown, ThrowOnError, "fields">; | ||
| export declare const postV1NiraConversations: <ThrowOnError extends boolean = false>(options?: Options<PostV1NiraConversationsData, ThrowOnError>) => import("./client").RequestResult<PostV1NiraConversationsResponses, unknown, ThrowOnError, "fields">; | ||
| /** | ||
| * Send message | ||
| * Get conversation | ||
| * | ||
| * Send a message to a conversation with an agent. | ||
| * | ||
| * **Response Modes:** | ||
| * - **Streaming** (Accept: text/event-stream OR stream: true): Returns SSE stream with real-time events | ||
| * - **Synchronous** (default): Blocks until response complete, returns full message | ||
| * - **Async** (async: true): Returns immediately with executionId, poll /v1/executions/:id for result | ||
| * | ||
| * **SSE Events (streaming mode):** | ||
| * - `message.start` - Agent started responding | ||
| * - `content` - Content chunk (text field) | ||
| * - `tool.start` - Tool execution started | ||
| * - `tool.complete` - Tool execution finished | ||
| * - `message.complete` - Full message with content | ||
| * - `error` - Error occurred | ||
| * - `done` - Stream complete | ||
| * Get details of a specific conversation | ||
| */ | ||
| export declare const postV1AgentsByAgentIdConversationsByConversationIdMessages: <ThrowOnError extends boolean = false>(options: Options<PostV1AgentsByAgentIdConversationsByConversationIdMessagesData, ThrowOnError>) => import("./client").RequestResult<PostV1AgentsByAgentIdConversationsByConversationIdMessagesResponses, unknown, ThrowOnError, "fields">; | ||
| export declare const getV1NiraConversationsById: <ThrowOnError extends boolean = false>(options: Options<GetV1NiraConversationsByIdData, ThrowOnError>) => import("./client").RequestResult<GetV1NiraConversationsByIdResponses, unknown, ThrowOnError, "fields">; | ||
| /** | ||
| * Execute playbook | ||
| * List messages | ||
| * | ||
| * Execute a playbook with optional parameters | ||
| * Get messages in a conversation with pagination | ||
| */ | ||
| export declare const postV1PlaybooksByPlaybookIdExecute: <ThrowOnError extends boolean = false>(options: Options<PostV1PlaybooksByPlaybookIdExecuteData, ThrowOnError>) => import("./client").RequestResult<PostV1PlaybooksByPlaybookIdExecuteResponses, unknown, ThrowOnError, "fields">; | ||
| export declare const getV1NiraConversationsByIdMessages: <ThrowOnError extends boolean = false>(options: Options<GetV1NiraConversationsByIdMessagesData, ThrowOnError>) => import("./client").RequestResult<GetV1NiraConversationsByIdMessagesResponses, unknown, ThrowOnError, "fields">; | ||
| /** | ||
| * Get execution status | ||
| * Send message | ||
| * | ||
| * Poll execution status and retrieve results. Use the ID returned from POST /v1/playbooks/:id/execute | ||
| * Send a message to Nira. Response is streamed via Server-Sent Events (SSE). | ||
| */ | ||
| export declare const getV1ExecutionsById: <ThrowOnError extends boolean = false>(options: Options<GetV1ExecutionsByIdData, ThrowOnError>) => import("./client").RequestResult<GetV1ExecutionsByIdResponses, unknown, ThrowOnError, "fields">; | ||
| export declare const postV1NiraConversationsByIdMessages: <ThrowOnError extends boolean = false>(options: Options<PostV1NiraConversationsByIdMessagesData, ThrowOnError>) => Promise<import("./core/serverSentEvents.gen").ServerSentEventsResult<PostV1NiraConversationsByIdMessagesResponses, unknown>>; | ||
| //# sourceMappingURL=sdk.gen.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"sdk.gen.d.ts","sourceRoot":"","sources":["../src/sdk.gen.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,IAAI,QAAQ,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAExE,OAAO,KAAK,EAAE,qDAAqD,EAAE,6DAA6D,EAAE,kEAAkE,EAAE,0DAA0D,EAAE,eAAe,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,4BAA4B,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,8DAA8D,EAAE,mEAAmE,EAAE,sCAAsC,EAAE,2CAA2C,EAAE,sCAAsC,EAAE,2CAA2C,EAAE,MAAM,aAAa,CAAC;AAEruB,MAAM,MAAM,OAAO,CAAC,KAAK,SAAS,UAAU,GAAG,UAAU,EAAE,YAAY,SAAS,OAAO,GAAG,OAAO,IAAI,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,GAAG;IACjI;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,YAAY,SAAS,OAAO,GAAG,KAAK,EAAE,UAAU,OAAO,CAAC,eAAe,EAAE,YAAY,CAAC,sGAIhH,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,YAAY,SAAS,OAAO,GAAG,KAAK,EAAE,UAAU,OAAO,CAAC,kBAAkB,EAAE,YAAY,CAAC,+FAItH,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,kCAAkC,GAAI,YAAY,SAAS,OAAO,GAAG,KAAK,EAAE,SAAS,OAAO,CAAC,sCAAsC,EAAE,YAAY,CAAC,mHAQ7J,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,iDAAiD,GAAI,YAAY,SAAS,OAAO,GAAG,KAAK,EAAE,SAAS,OAAO,CAAC,qDAAqD,EAAE,YAAY,CAAC,kIAI3L,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,yDAAyD,GAAI,YAAY,SAAS,OAAO,GAAG,KAAK,EAAE,SAAS,OAAO,CAAC,6DAA6D,EAAE,YAAY,CAAC,0IAI3M,CAAC;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,0DAA0D,GAAI,YAAY,SAAS,OAAO,GAAG,KAAK,EAAE,SAAS,OAAO,CAAC,8DAA8D,EAAE,YAAY,CAAC,2IAQ7M,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,kCAAkC,GAAI,YAAY,SAAS,OAAO,GAAG,KAAK,EAAE,SAAS,OAAO,CAAC,sCAAsC,EAAE,YAAY,CAAC,mHAQ7J,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,YAAY,SAAS,OAAO,GAAG,KAAK,EAAE,SAAS,OAAO,CAAC,uBAAuB,EAAE,YAAY,CAAC,oGAI/H,CAAC"} | ||
| {"version":3,"file":"sdk.gen.d.ts","sourceRoot":"","sources":["../src/sdk.gen.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,IAAI,QAAQ,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAExE,OAAO,KAAK,EAAE,uBAAuB,EAAE,4BAA4B,EAAE,WAAW,EAAE,aAAa,EAAE,gBAAgB,EAAE,8BAA8B,EAAE,sCAAsC,EAAE,2CAA2C,EAAE,mCAAmC,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,uCAAuC,EAAE,4CAA4C,EAAE,2BAA2B,EAAE,gCAAgC,EAAE,sCAAsC,EAAE,2CAA2C,EAAE,MAAM,aAAa,CAAC;AAE/nB,MAAM,MAAM,OAAO,CAAC,KAAK,SAAS,UAAU,GAAG,UAAU,EAAE,YAAY,SAAS,OAAO,GAAG,OAAO,IAAI,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,GAAG;IACjI;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAI,YAAY,SAAS,OAAO,GAAG,KAAK,EAAE,UAAU,OAAO,CAAC,WAAW,EAAE,YAAY,CAAC,8FAIxG,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,YAAY,SAAS,OAAO,GAAG,KAAK,EAAE,UAAU,OAAO,CAAC,mBAAmB,EAAE,YAAY,CAAC,8GAIxH,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,YAAY,SAAS,OAAO,GAAG,KAAK,EAAE,UAAU,OAAO,CAAC,kBAAkB,EAAE,YAAY,CAAC,+FAItH,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,kCAAkC,GAAI,YAAY,SAAS,OAAO,GAAG,KAAK,EAAE,SAAS,OAAO,CAAC,sCAAsC,EAAE,YAAY,CAAC,mHAQ7J,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,YAAY,SAAS,OAAO,GAAG,KAAK,EAAE,SAAS,OAAO,CAAC,uBAAuB,EAAE,YAAY,CAAC,oGAI/H,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,GAAI,YAAY,SAAS,OAAO,GAAG,KAAK,EAAE,UAAU,OAAO,CAAC,2BAA2B,EAAE,YAAY,CAAC,wGAQxI,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,GAAI,YAAY,SAAS,OAAO,GAAG,KAAK,EAAE,SAAS,OAAO,CAAC,8BAA8B,EAAE,YAAY,CAAC,2GAI7I,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,kCAAkC,GAAI,YAAY,SAAS,OAAO,GAAG,KAAK,EAAE,SAAS,OAAO,CAAC,sCAAsC,EAAE,YAAY,CAAC,mHAI7J,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,mCAAmC,GAAI,YAAY,SAAS,OAAO,GAAG,KAAK,EAAE,SAAS,OAAO,CAAC,uCAAuC,EAAE,YAAY,CAAC,iIAQ/J,CAAC"} |
+49
-53
| // This file is auto-generated by @hey-api/openapi-ts | ||
| import { client } from './client.gen'; | ||
| /** | ||
| * List agents | ||
| * Get current user | ||
| * | ||
| * Get a list of all agents available in your workspace | ||
| * Returns the authenticated user profile, organization, and available workspaces. Requires Clerk JWT authentication (not API key). | ||
| */ | ||
| export const getV1Agents = (options) => (options?.client ?? client).get({ | ||
| export const getV1Me = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: 'bearer', type: 'http' }], | ||
| url: '/v1/agents', | ||
| url: '/v1/me', | ||
| ...options | ||
| }); | ||
| /** | ||
| * List workspaces | ||
| * | ||
| * Returns workspaces accessible to the authenticated user. Requires Clerk JWT authentication (not API key). | ||
| */ | ||
| export const getV1Workspaces = (options) => (options?.client ?? client).get({ | ||
| security: [{ scheme: 'bearer', type: 'http' }], | ||
| url: '/v1/workspaces', | ||
| ...options | ||
| }); | ||
| /** | ||
| * List playbooks | ||
@@ -24,9 +34,9 @@ * | ||
| /** | ||
| * Create conversation with agent | ||
| * Execute playbook | ||
| * | ||
| * Start a new conversation with a specific agent | ||
| * Execute a playbook with optional parameters | ||
| */ | ||
| export const postV1AgentsByAgentIdConversations = (options) => (options.client ?? client).post({ | ||
| export const postV1PlaybooksByPlaybookIdExecute = (options) => (options.client ?? client).post({ | ||
| security: [{ scheme: 'bearer', type: 'http' }], | ||
| url: '/v1/agents/{agentId}/conversations', | ||
| url: '/v1/playbooks/{playbookId}/execute', | ||
| ...options, | ||
@@ -39,57 +49,53 @@ headers: { | ||
| /** | ||
| * Get conversation | ||
| * Get execution status | ||
| * | ||
| * Get details of a specific conversation with an agent | ||
| * Poll execution status and retrieve results. Use the ID returned from POST /v1/playbooks/:id/execute | ||
| */ | ||
| export const getV1AgentsByAgentIdConversationsByConversationId = (options) => (options.client ?? client).get({ | ||
| export const getV1ExecutionsById = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: 'bearer', type: 'http' }], | ||
| url: '/v1/agents/{agentId}/conversations/{conversationId}', | ||
| url: '/v1/executions/{id}', | ||
| ...options | ||
| }); | ||
| /** | ||
| * List messages | ||
| * Create conversation | ||
| * | ||
| * Get messages in a conversation with an agent | ||
| * Create a new conversation with Nira. Optionally provide context for personalization. | ||
| */ | ||
| export const getV1AgentsByAgentIdConversationsByConversationIdMessages = (options) => (options.client ?? client).get({ | ||
| export const postV1NiraConversations = (options) => (options?.client ?? client).post({ | ||
| security: [{ scheme: 'bearer', type: 'http' }], | ||
| url: '/v1/agents/{agentId}/conversations/{conversationId}/messages', | ||
| url: '/v1/nira/conversations', | ||
| ...options, | ||
| headers: { | ||
| 'Content-Type': 'application/json', | ||
| ...options?.headers | ||
| } | ||
| }); | ||
| /** | ||
| * Get conversation | ||
| * | ||
| * Get details of a specific conversation | ||
| */ | ||
| export const getV1NiraConversationsById = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: 'bearer', type: 'http' }], | ||
| url: '/v1/nira/conversations/{id}', | ||
| ...options | ||
| }); | ||
| /** | ||
| * Send message | ||
| * List messages | ||
| * | ||
| * Send a message to a conversation with an agent. | ||
| * | ||
| * **Response Modes:** | ||
| * - **Streaming** (Accept: text/event-stream OR stream: true): Returns SSE stream with real-time events | ||
| * - **Synchronous** (default): Blocks until response complete, returns full message | ||
| * - **Async** (async: true): Returns immediately with executionId, poll /v1/executions/:id for result | ||
| * | ||
| * **SSE Events (streaming mode):** | ||
| * - `message.start` - Agent started responding | ||
| * - `content` - Content chunk (text field) | ||
| * - `tool.start` - Tool execution started | ||
| * - `tool.complete` - Tool execution finished | ||
| * - `message.complete` - Full message with content | ||
| * - `error` - Error occurred | ||
| * - `done` - Stream complete | ||
| * Get messages in a conversation with pagination | ||
| */ | ||
| export const postV1AgentsByAgentIdConversationsByConversationIdMessages = (options) => (options.client ?? client).post({ | ||
| export const getV1NiraConversationsByIdMessages = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: 'bearer', type: 'http' }], | ||
| url: '/v1/agents/{agentId}/conversations/{conversationId}/messages', | ||
| ...options, | ||
| headers: { | ||
| 'Content-Type': 'application/json', | ||
| ...options.headers | ||
| } | ||
| url: '/v1/nira/conversations/{id}/messages', | ||
| ...options | ||
| }); | ||
| /** | ||
| * Execute playbook | ||
| * Send message | ||
| * | ||
| * Execute a playbook with optional parameters | ||
| * Send a message to Nira. Response is streamed via Server-Sent Events (SSE). | ||
| */ | ||
| export const postV1PlaybooksByPlaybookIdExecute = (options) => (options.client ?? client).post({ | ||
| export const postV1NiraConversationsByIdMessages = (options) => (options.client ?? client).sse.post({ | ||
| security: [{ scheme: 'bearer', type: 'http' }], | ||
| url: '/v1/playbooks/{playbookId}/execute', | ||
| url: '/v1/nira/conversations/{id}/messages', | ||
| ...options, | ||
@@ -101,12 +107,2 @@ headers: { | ||
| }); | ||
| /** | ||
| * Get execution status | ||
| * | ||
| * Poll execution status and retrieve results. Use the ID returned from POST /v1/playbooks/:id/execute | ||
| */ | ||
| export const getV1ExecutionsById = (options) => (options.client ?? client).get({ | ||
| security: [{ scheme: 'bearer', type: 'http' }], | ||
| url: '/v1/executions/{id}', | ||
| ...options | ||
| }); | ||
| //# sourceMappingURL=sdk.gen.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"sdk.gen.js","sourceRoot":"","sources":["../src/sdk.gen.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"sdk.gen.js","sourceRoot":"","sources":["../src/sdk.gen.ts"],"names":[],"mappings":"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"} |
+392
-154
| export type ClientOptions = { | ||
| baseUrl: 'http://localhost:3000' | (string & {}); | ||
| }; | ||
| export type GetV1AgentsData = { | ||
| export type ActionCard = ({ | ||
| type: 'link'; | ||
| } & LinkCard) | ({ | ||
| type: 'document'; | ||
| } & DocumentCard) | ({ | ||
| type: 'code'; | ||
| } & CodeCard) | ({ | ||
| type: 'meeting'; | ||
| } & MeetingCard) | ({ | ||
| type: 'contact'; | ||
| } & ContactCard) | ({ | ||
| type: 'datetime'; | ||
| } & DateTimeCard) | ({ | ||
| type: 'table'; | ||
| } & TableCard) | ({ | ||
| type: 'connection'; | ||
| } & ConnectionCard); | ||
| /** | ||
| * Hyperlink with label and optional description | ||
| */ | ||
| export type LinkCard = { | ||
| type: 'link'; | ||
| label: string; | ||
| url: string; | ||
| description?: string; | ||
| }; | ||
| /** | ||
| * File/document reference with metadata | ||
| */ | ||
| export type DocumentCard = { | ||
| type: 'document'; | ||
| label: string; | ||
| url: string; | ||
| filename?: string; | ||
| mimeType?: string; | ||
| /** | ||
| * File size in bytes | ||
| */ | ||
| size?: number; | ||
| }; | ||
| /** | ||
| * Code snippet or value with copy functionality | ||
| */ | ||
| export type CodeCard = { | ||
| type: 'code'; | ||
| label: string; | ||
| value: string; | ||
| copyable?: boolean; | ||
| /** | ||
| * If true, value should be masked | ||
| */ | ||
| sensitive?: boolean; | ||
| }; | ||
| /** | ||
| * Meeting/video call with join information | ||
| */ | ||
| export type MeetingCard = { | ||
| type: 'meeting'; | ||
| /** | ||
| * e.g., "Zoom Meeting" | ||
| */ | ||
| label: string; | ||
| joinUrl: string; | ||
| meetingId?: string; | ||
| passcode?: string; | ||
| dialIn?: string; | ||
| startTime?: string; | ||
| }; | ||
| /** | ||
| * Person/contact information | ||
| */ | ||
| export type ContactCard = { | ||
| type: 'contact'; | ||
| label: string; | ||
| name?: string; | ||
| email?: string; | ||
| phone?: string; | ||
| profileUrl?: string; | ||
| }; | ||
| /** | ||
| * Date/time information with optional duration | ||
| */ | ||
| export type DateTimeCard = { | ||
| type: 'datetime'; | ||
| label: string; | ||
| iso: string; | ||
| timezone?: string; | ||
| /** | ||
| * Duration in minutes | ||
| */ | ||
| duration?: number; | ||
| }; | ||
| /** | ||
| * Tabular data display | ||
| */ | ||
| export type TableCard = { | ||
| type: 'table'; | ||
| label: string; | ||
| headers: Array<string>; | ||
| rows: Array<Array<string>>; | ||
| truncated?: boolean; | ||
| totalRows?: number; | ||
| }; | ||
| /** | ||
| * MCP connection requiring user action (OAuth or API key configuration) | ||
| */ | ||
| export type ConnectionCard = { | ||
| type: 'connection'; | ||
| connectionId: string; | ||
| connectionName: string; | ||
| status: 'pending_auth' | 'configuring' | 'active' | 'error' | 'disconnected'; | ||
| authType: 'oauth2' | 'api_key' | 'none'; | ||
| /** | ||
| * Required fields for API key auth | ||
| */ | ||
| requiredSecrets?: Array<string>; | ||
| icon?: string; | ||
| description?: string; | ||
| /** | ||
| * OAuth token expired, needs re-authorization | ||
| */ | ||
| needsReauth?: boolean; | ||
| /** | ||
| * OAuth initiate URL. Present when authType is oauth2 and authorization is needed. | ||
| */ | ||
| authUrl?: string; | ||
| }; | ||
| /** | ||
| * Initial metadata for the response message. Event type: message.meta | ||
| */ | ||
| export type MessageMetaEvent = { | ||
| conversationId: string; | ||
| messageId: string; | ||
| participantId: string; | ||
| participantName: string; | ||
| }; | ||
| /** | ||
| * Indicates Nira is processing. Event type: message.thinking | ||
| */ | ||
| export type MessageThinkingEvent = { | ||
| status: 'thinking'; | ||
| }; | ||
| /** | ||
| * Streaming text content chunk. Event type: message.content | ||
| */ | ||
| export type MessageContentEvent = { | ||
| /** | ||
| * Text chunk to append | ||
| */ | ||
| content: string; | ||
| messageId: string; | ||
| }; | ||
| /** | ||
| * Tool execution status update. Event type: message.tool | ||
| */ | ||
| export type MessageToolEvent = { | ||
| /** | ||
| * Internal tool identifier | ||
| */ | ||
| toolName: string; | ||
| /** | ||
| * Human-readable tool name | ||
| */ | ||
| displayName: string; | ||
| status: 'started' | 'completed'; | ||
| /** | ||
| * Present when status is completed | ||
| */ | ||
| success?: boolean; | ||
| }; | ||
| /** | ||
| * Rich interactive cards (connections, links, meetings, etc.). Event type: message.actionCards | ||
| */ | ||
| export type MessageActionCardsEvent = { | ||
| actionCards: Array<ActionCard>; | ||
| }; | ||
| /** | ||
| * File attachments. Event type: message.attachments | ||
| */ | ||
| export type MessageAttachmentsEvent = { | ||
| attachments: Array<{ | ||
| name: string; | ||
| url: string; | ||
| mimeType: string; | ||
| }>; | ||
| }; | ||
| /** | ||
| * Client-side actions to execute. Event type: message.actions | ||
| */ | ||
| export type MessageActionsEvent = { | ||
| actions: Array<{ | ||
| type: string; | ||
| payload: { | ||
| [key: string]: unknown; | ||
| }; | ||
| }>; | ||
| }; | ||
| /** | ||
| * Stream completion indicator. Event type: message.done | ||
| */ | ||
| export type MessageDoneEvent = { | ||
| messagesCount: number; | ||
| }; | ||
| /** | ||
| * Error during message processing. Event type: error | ||
| */ | ||
| export type ErrorEvent = { | ||
| error: string; | ||
| code?: 'INSUFFICIENT_CREDITS' | 'NOT_FOUND' | 'VALIDATION_ERROR' | 'INTERNAL_ERROR'; | ||
| recoverable: boolean; | ||
| }; | ||
| export type GetV1MeData = { | ||
| body?: never; | ||
| path?: never; | ||
| query?: never; | ||
| url: '/v1/agents'; | ||
| url: '/v1/me'; | ||
| }; | ||
| export type GetV1AgentsErrors = { | ||
| export type GetV1MeErrors = { | ||
| /** | ||
| * Unauthorized - Invalid or missing API key | ||
| * JWT authentication required | ||
| */ | ||
@@ -18,6 +229,39 @@ 401: { | ||
| }; | ||
| }; | ||
| export type GetV1MeError = GetV1MeErrors[keyof GetV1MeErrors]; | ||
| export type GetV1MeResponses = { | ||
| /** | ||
| * Forbidden - Insufficient permissions | ||
| * Current user profile | ||
| */ | ||
| 403: { | ||
| 200: { | ||
| user?: { | ||
| id?: string; | ||
| email?: string; | ||
| firstName?: string; | ||
| lastName?: string; | ||
| avatarUrl?: string; | ||
| }; | ||
| organization?: { | ||
| id?: string; | ||
| name?: string; | ||
| }; | ||
| workspaces?: Array<{ | ||
| id?: string; | ||
| name?: string; | ||
| slug?: string; | ||
| }>; | ||
| }; | ||
| }; | ||
| export type GetV1MeResponse = GetV1MeResponses[keyof GetV1MeResponses]; | ||
| export type GetV1WorkspacesData = { | ||
| body?: never; | ||
| path?: never; | ||
| query?: never; | ||
| url: '/v1/workspaces'; | ||
| }; | ||
| export type GetV1WorkspacesErrors = { | ||
| /** | ||
| * JWT authentication required | ||
| */ | ||
| 401: { | ||
| error?: string; | ||
@@ -27,20 +271,16 @@ message?: string; | ||
| }; | ||
| export type GetV1AgentsError = GetV1AgentsErrors[keyof GetV1AgentsErrors]; | ||
| export type GetV1AgentsResponses = { | ||
| export type GetV1WorkspacesError = GetV1WorkspacesErrors[keyof GetV1WorkspacesErrors]; | ||
| export type GetV1WorkspacesResponses = { | ||
| /** | ||
| * List of agents | ||
| * List of workspaces | ||
| */ | ||
| 200: { | ||
| agents?: Array<{ | ||
| workspaces?: Array<{ | ||
| id?: string; | ||
| name?: string; | ||
| type?: 'custom' | 'nira' | 'system'; | ||
| description?: string; | ||
| createdAt?: string; | ||
| updatedAt?: string; | ||
| slug?: string; | ||
| }>; | ||
| total?: number; | ||
| }; | ||
| }; | ||
| export type GetV1AgentsResponse = GetV1AgentsResponses[keyof GetV1AgentsResponses]; | ||
| export type GetV1WorkspacesResponse = GetV1WorkspacesResponses[keyof GetV1WorkspacesResponses]; | ||
| export type GetV1PlaybooksData = { | ||
@@ -68,140 +308,2 @@ body?: never; | ||
| export type GetV1PlaybooksResponse = GetV1PlaybooksResponses[keyof GetV1PlaybooksResponses]; | ||
| export type PostV1AgentsByAgentIdConversationsData = { | ||
| body?: { | ||
| title?: string; | ||
| context?: 'sidebar' | 'dedicated'; | ||
| }; | ||
| path: { | ||
| agentId: string; | ||
| }; | ||
| query?: never; | ||
| url: '/v1/agents/{agentId}/conversations'; | ||
| }; | ||
| export type PostV1AgentsByAgentIdConversationsResponses = { | ||
| /** | ||
| * Conversation created | ||
| */ | ||
| 201: { | ||
| id?: string; | ||
| title?: string; | ||
| context?: string; | ||
| status?: string; | ||
| createdAt?: string; | ||
| }; | ||
| }; | ||
| export type PostV1AgentsByAgentIdConversationsResponse = PostV1AgentsByAgentIdConversationsResponses[keyof PostV1AgentsByAgentIdConversationsResponses]; | ||
| export type GetV1AgentsByAgentIdConversationsByConversationIdData = { | ||
| body?: never; | ||
| path: { | ||
| /** | ||
| * Agent ID | ||
| */ | ||
| agentId: string; | ||
| /** | ||
| * Conversation ID | ||
| */ | ||
| conversationId: string; | ||
| }; | ||
| query?: never; | ||
| url: '/v1/agents/{agentId}/conversations/{conversationId}'; | ||
| }; | ||
| export type GetV1AgentsByAgentIdConversationsByConversationIdResponses = { | ||
| /** | ||
| * Conversation details | ||
| */ | ||
| 200: { | ||
| id?: string; | ||
| title?: string; | ||
| context?: string; | ||
| status?: string; | ||
| messageCount?: number; | ||
| lastMessageAt?: string; | ||
| createdAt?: string; | ||
| }; | ||
| }; | ||
| export type GetV1AgentsByAgentIdConversationsByConversationIdResponse = GetV1AgentsByAgentIdConversationsByConversationIdResponses[keyof GetV1AgentsByAgentIdConversationsByConversationIdResponses]; | ||
| export type GetV1AgentsByAgentIdConversationsByConversationIdMessagesData = { | ||
| body?: never; | ||
| path: { | ||
| /** | ||
| * Agent ID | ||
| */ | ||
| agentId: string; | ||
| /** | ||
| * Conversation ID | ||
| */ | ||
| conversationId: string; | ||
| }; | ||
| query?: { | ||
| limit?: number; | ||
| offset?: number; | ||
| }; | ||
| url: '/v1/agents/{agentId}/conversations/{conversationId}/messages'; | ||
| }; | ||
| export type GetV1AgentsByAgentIdConversationsByConversationIdMessagesResponses = { | ||
| /** | ||
| * List of messages | ||
| */ | ||
| 200: { | ||
| messages?: Array<{ | ||
| id?: string; | ||
| role?: 'user' | 'assistant' | 'system'; | ||
| content?: string; | ||
| createdAt?: string; | ||
| }>; | ||
| total?: number; | ||
| }; | ||
| }; | ||
| export type GetV1AgentsByAgentIdConversationsByConversationIdMessagesResponse = GetV1AgentsByAgentIdConversationsByConversationIdMessagesResponses[keyof GetV1AgentsByAgentIdConversationsByConversationIdMessagesResponses]; | ||
| export type PostV1AgentsByAgentIdConversationsByConversationIdMessagesData = { | ||
| body: { | ||
| /** | ||
| * Message content | ||
| */ | ||
| content: string; | ||
| role?: 'user' | 'assistant'; | ||
| /** | ||
| * Enable streaming mode (alternative to Accept header) | ||
| */ | ||
| stream?: boolean; | ||
| /** | ||
| * Enable async mode (return immediately, poll for result) | ||
| */ | ||
| async?: boolean; | ||
| }; | ||
| path: { | ||
| /** | ||
| * Agent ID | ||
| */ | ||
| agentId: string; | ||
| /** | ||
| * Conversation ID | ||
| */ | ||
| conversationId: string; | ||
| }; | ||
| query?: never; | ||
| url: '/v1/agents/{agentId}/conversations/{conversationId}/messages'; | ||
| }; | ||
| export type PostV1AgentsByAgentIdConversationsByConversationIdMessagesResponses = { | ||
| /** | ||
| * Synchronous response - full message | ||
| */ | ||
| 200: { | ||
| messageId?: string; | ||
| content?: string; | ||
| role?: string; | ||
| executionId?: string; | ||
| tokensUsed?: number; | ||
| }; | ||
| /** | ||
| * Async mode - message queued | ||
| */ | ||
| 202: { | ||
| messageId?: string; | ||
| executionId?: string; | ||
| status?: string; | ||
| message?: string; | ||
| }; | ||
| }; | ||
| export type PostV1AgentsByAgentIdConversationsByConversationIdMessagesResponse = PostV1AgentsByAgentIdConversationsByConversationIdMessagesResponses[keyof PostV1AgentsByAgentIdConversationsByConversationIdMessagesResponses]; | ||
| export type PostV1PlaybooksByPlaybookIdExecuteData = { | ||
@@ -294,2 +396,138 @@ body?: { | ||
| export type GetV1ExecutionsByIdResponse = GetV1ExecutionsByIdResponses[keyof GetV1ExecutionsByIdResponses]; | ||
| export type PostV1NiraConversationsData = { | ||
| body?: { | ||
| /** | ||
| * Optional conversation title | ||
| */ | ||
| title?: string; | ||
| /** | ||
| * Personalization context for this conversation | ||
| */ | ||
| context?: { | ||
| /** | ||
| * End user information (your user, not a NimbleBrain user) | ||
| */ | ||
| endUser?: { | ||
| /** | ||
| * Display name for personalized addressing | ||
| */ | ||
| name?: string; | ||
| /** | ||
| * Email (for context, not authentication) | ||
| */ | ||
| email?: string; | ||
| /** | ||
| * Your user ID (for correlation) | ||
| */ | ||
| externalId?: string; | ||
| }; | ||
| /** | ||
| * Preferences for this conversation | ||
| */ | ||
| preferences?: { | ||
| /** | ||
| * IANA timezone (e.g., "America/New_York") | ||
| */ | ||
| timezone?: string; | ||
| /** | ||
| * Response verbosity level | ||
| */ | ||
| verbosity?: 'concise' | 'balanced' | 'detailed'; | ||
| /** | ||
| * Locale (e.g., "en-US") | ||
| */ | ||
| locale?: string; | ||
| }; | ||
| /** | ||
| * Custom instructions (future use) | ||
| */ | ||
| instructions?: string; | ||
| }; | ||
| }; | ||
| path?: never; | ||
| query?: never; | ||
| url: '/v1/nira/conversations'; | ||
| }; | ||
| export type PostV1NiraConversationsResponses = { | ||
| /** | ||
| * Conversation created | ||
| */ | ||
| 201: { | ||
| id?: string; | ||
| title?: string; | ||
| messageCount?: number; | ||
| createdAt?: string; | ||
| updatedAt?: string; | ||
| }; | ||
| }; | ||
| export type PostV1NiraConversationsResponse = PostV1NiraConversationsResponses[keyof PostV1NiraConversationsResponses]; | ||
| export type GetV1NiraConversationsByIdData = { | ||
| body?: never; | ||
| path: { | ||
| id: string; | ||
| }; | ||
| query?: never; | ||
| url: '/v1/nira/conversations/{id}'; | ||
| }; | ||
| export type GetV1NiraConversationsByIdResponses = { | ||
| /** | ||
| * Conversation details | ||
| */ | ||
| 200: { | ||
| id?: string; | ||
| title?: string; | ||
| messageCount?: number; | ||
| createdAt?: string; | ||
| updatedAt?: string; | ||
| }; | ||
| }; | ||
| export type GetV1NiraConversationsByIdResponse = GetV1NiraConversationsByIdResponses[keyof GetV1NiraConversationsByIdResponses]; | ||
| export type GetV1NiraConversationsByIdMessagesData = { | ||
| body?: never; | ||
| path: { | ||
| id: string; | ||
| }; | ||
| query?: { | ||
| limit?: number; | ||
| offset?: number; | ||
| }; | ||
| url: '/v1/nira/conversations/{id}/messages'; | ||
| }; | ||
| export type GetV1NiraConversationsByIdMessagesResponses = { | ||
| /** | ||
| * List of messages | ||
| */ | ||
| 200: { | ||
| messages?: Array<{ | ||
| id?: string; | ||
| role?: 'user' | 'assistant'; | ||
| content?: string; | ||
| createdAt?: string; | ||
| }>; | ||
| total?: number; | ||
| limit?: number; | ||
| offset?: number; | ||
| }; | ||
| }; | ||
| export type GetV1NiraConversationsByIdMessagesResponse = GetV1NiraConversationsByIdMessagesResponses[keyof GetV1NiraConversationsByIdMessagesResponses]; | ||
| export type PostV1NiraConversationsByIdMessagesData = { | ||
| body: { | ||
| /** | ||
| * Message content to send to Nira | ||
| */ | ||
| content: string; | ||
| }; | ||
| path: { | ||
| id: string; | ||
| }; | ||
| query?: never; | ||
| url: '/v1/nira/conversations/{id}/messages'; | ||
| }; | ||
| export type PostV1NiraConversationsByIdMessagesResponses = { | ||
| /** | ||
| * SSE event format: "event: {type}\ndata: {json}\n\n" | ||
| */ | ||
| 200: string; | ||
| }; | ||
| export type PostV1NiraConversationsByIdMessagesResponse = PostV1NiraConversationsByIdMessagesResponses[keyof PostV1NiraConversationsByIdMessagesResponses]; | ||
| //# sourceMappingURL=types.gen.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"types.gen.d.ts","sourceRoot":"","sources":["../src/types.gen.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"types.gen.d.ts","sourceRoot":"","sources":["../src/types.gen.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,aAAa,GAAG;IACxB,OAAO,EAAE,uBAAuB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CAChB,GAAG,QAAQ,CAAC,GAAG,CAAC;IACb,IAAI,EAAE,UAAU,CAAC;CACpB,GAAG,YAAY,CAAC,GAAG,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CAChB,GAAG,QAAQ,CAAC,GAAG,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;CACnB,GAAG,WAAW,CAAC,GAAG,CAAC;IAChB,IAAI,EAAE,SAAS,CAAC;CACnB,GAAG,WAAW,CAAC,GAAG,CAAC;IAChB,IAAI,EAAE,UAAU,CAAC;CACpB,GAAG,YAAY,CAAC,GAAG,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;CACjB,GAAG,SAAS,CAAC,GAAG,CAAC;IACd,IAAI,EAAE,YAAY,CAAC;CACtB,GAAG,cAAc,CAAC,CAAC;AAEpB;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACvB,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACtB,IAAI,EAAE,SAAS,CAAC;IAChB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACtB,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACvB,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACvB,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IACzB,IAAI,EAAE,YAAY,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,cAAc,GAAG,aAAa,GAAG,QAAQ,GAAG,OAAO,GAAG,cAAc,CAAC;IAC7E,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;IACxC;;OAEG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IAC/B,MAAM,EAAE,UAAU,CAAC;CACtB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAC9B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC3B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,SAAS,GAAG,WAAW,CAAC;IAChC;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG;IAClC,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;CAClC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG;IAClC,WAAW,EAAE,KAAK,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;CACN,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAC9B,OAAO,EAAE,KAAK,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE;YACL,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;SAC1B,CAAC;KACL,CAAC,CAAC;CACN,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC3B,aAAa,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,sBAAsB,GAAG,WAAW,GAAG,kBAAkB,GAAG,gBAAgB,CAAC;IACpF,WAAW,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACtB,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,GAAG,EAAE,QAAQ,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IACxB;;OAEG;IACH,GAAG,EAAE;QACD,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACL,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,aAAa,CAAC,CAAC;AAE9D,MAAM,MAAM,gBAAgB,GAAG;IAC3B;;OAEG;IACH,GAAG,EAAE;QACD,IAAI,CAAC,EAAE;YACH,EAAE,CAAC,EAAE,MAAM,CAAC;YACZ,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,SAAS,CAAC,EAAE,MAAM,CAAC;SACtB,CAAC;QACF,YAAY,CAAC,EAAE;YACX,EAAE,CAAC,EAAE,MAAM,CAAC;YACZ,IAAI,CAAC,EAAE,MAAM,CAAC;SACjB,CAAC;QACF,UAAU,CAAC,EAAE,KAAK,CAAC;YACf,EAAE,CAAC,EAAE,MAAM,CAAC;YACZ,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,IAAI,CAAC,EAAE,MAAM,CAAC;SACjB,CAAC,CAAC;KACN,CAAC;CACL,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,gBAAgB,CAAC,MAAM,gBAAgB,CAAC,CAAC;AAEvE,MAAM,MAAM,mBAAmB,GAAG;IAC9B,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,GAAG,EAAE,gBAAgB,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAChC;;OAEG;IACH,GAAG,EAAE;QACD,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACL,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,MAAM,qBAAqB,CAAC,CAAC;AAEtF,MAAM,MAAM,wBAAwB,GAAG;IACnC;;OAEG;IACH,GAAG,EAAE;QACD,UAAU,CAAC,EAAE,KAAK,CAAC;YACf,EAAE,CAAC,EAAE,MAAM,CAAC;YACZ,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,IAAI,CAAC,EAAE,MAAM,CAAC;SACjB,CAAC,CAAC;KACN,CAAC;CACL,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,wBAAwB,CAAC,MAAM,wBAAwB,CAAC,CAAC;AAE/F,MAAM,MAAM,kBAAkB,GAAG;IAC7B,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,GAAG,EAAE,eAAe,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IAClC;;OAEG;IACH,GAAG,EAAE;QACD,SAAS,CAAC,EAAE,KAAK,CAAC;YACd,EAAE,CAAC,EAAE,MAAM,CAAC;YACZ,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,SAAS,CAAC,EAAE,MAAM,CAAC;SACtB,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACL,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,uBAAuB,CAAC,MAAM,uBAAuB,CAAC,CAAC;AAE5F,MAAM,MAAM,sCAAsC,GAAG;IACjD,IAAI,CAAC,EAAE;QACH,UAAU,CAAC,EAAE;YACT,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;SAC1B,CAAC;QACF,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;KACxC,CAAC;IACF,IAAI,EAAE;QACF,UAAU,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,GAAG,EAAE,oCAAoC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,2CAA2C,GAAG;IACtD;;OAEG;IACH,GAAG,EAAE;QACD;;WAEG;QACH,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ;;WAEG;QACH,MAAM,CAAC,EAAE,QAAQ,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACL,CAAC;AAEF,MAAM,MAAM,0CAA0C,GAAG,2CAA2C,CAAC,MAAM,2CAA2C,CAAC,CAAC;AAExJ,MAAM,MAAM,uBAAuB,GAAG;IAClC,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,IAAI,EAAE;QACF;;WAEG;QACH,EAAE,EAAE,MAAM,CAAC;KACd,CAAC;IACF,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,GAAG,EAAE,qBAAqB,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACvC;;OAEG;IACH,GAAG,EAAE;QACD;;WAEG;QACH,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ;;WAEG;QACH,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,uBAAuB,GAAG,QAAQ,GAAG,WAAW,CAAC;QAC3G;;WAEG;QACH,UAAU,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;QAClC;;WAEG;QACH,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB;;WAEG;QACH,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB;;WAEG;QACH,MAAM,CAAC,EAAE,MAAM,GAAG;YACd,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;SAC1B,GAAG,IAAI,CAAC;QACT;;WAEG;QACH,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB;;WAEG;QACH,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB;;WAEG;QACH,UAAU,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACL,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,4BAA4B,CAAC,MAAM,4BAA4B,CAAC,CAAC;AAE3G,MAAM,MAAM,2BAA2B,GAAG;IACtC,IAAI,CAAC,EAAE;QACH;;WAEG;QACH,KAAK,CAAC,EAAE,MAAM,CAAC;QACf;;WAEG;QACH,OAAO,CAAC,EAAE;YACN;;eAEG;YACH,OAAO,CAAC,EAAE;gBACN;;mBAEG;gBACH,IAAI,CAAC,EAAE,MAAM,CAAC;gBACd;;mBAEG;gBACH,KAAK,CAAC,EAAE,MAAM,CAAC;gBACf;;mBAEG;gBACH,UAAU,CAAC,EAAE,MAAM,CAAC;aACvB,CAAC;YACF;;eAEG;YACH,WAAW,CAAC,EAAE;gBACV;;mBAEG;gBACH,QAAQ,CAAC,EAAE,MAAM,CAAC;gBAClB;;mBAEG;gBACH,SAAS,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;gBAChD;;mBAEG;gBACH,MAAM,CAAC,EAAE,MAAM,CAAC;aACnB,CAAC;YACF;;eAEG;YACH,YAAY,CAAC,EAAE,MAAM,CAAC;SACzB,CAAC;KACL,CAAC;IACF,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,GAAG,EAAE,wBAAwB,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG;IAC3C;;OAEG;IACH,GAAG,EAAE;QACD,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACL,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG,gCAAgC,CAAC,MAAM,gCAAgC,CAAC,CAAC;AAEvH,MAAM,MAAM,8BAA8B,GAAG;IACzC,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,IAAI,EAAE;QACF,EAAE,EAAE,MAAM,CAAC;KACd,CAAC;IACF,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,GAAG,EAAE,6BAA6B,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAAG;IAC9C;;OAEG;IACH,GAAG,EAAE;QACD,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACL,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG,mCAAmC,CAAC,MAAM,mCAAmC,CAAC,CAAC;AAEhI,MAAM,MAAM,sCAAsC,GAAG;IACjD,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,IAAI,EAAE;QACF,EAAE,EAAE,MAAM,CAAC;KACd,CAAC;IACF,KAAK,CAAC,EAAE;QACJ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,GAAG,EAAE,sCAAsC,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,2CAA2C,GAAG;IACtD;;OAEG;IACH,GAAG,EAAE;QACD,QAAQ,CAAC,EAAE,KAAK,CAAC;YACb,EAAE,CAAC,EAAE,MAAM,CAAC;YACZ,IAAI,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;YAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,SAAS,CAAC,EAAE,MAAM,CAAC;SACtB,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACL,CAAC;AAEF,MAAM,MAAM,0CAA0C,GAAG,2CAA2C,CAAC,MAAM,2CAA2C,CAAC,CAAC;AAExJ,MAAM,MAAM,uCAAuC,GAAG;IAClD,IAAI,EAAE;QACF;;WAEG;QACH,OAAO,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,IAAI,EAAE;QACF,EAAE,EAAE,MAAM,CAAC;KACd,CAAC;IACF,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,GAAG,EAAE,sCAAsC,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,4CAA4C,GAAG;IACvD;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,2CAA2C,GAAG,4CAA4C,CAAC,MAAM,4CAA4C,CAAC,CAAC"} |
+1
-1
| { | ||
| "name": "@nimblebrain/sdk", | ||
| "version": "0.2.0", | ||
| "version": "0.3.0", | ||
| "description": "Official TypeScript SDK for NimbleBrain Studio API - AI agents, playbooks, and streaming conversations", | ||
@@ -5,0 +5,0 @@ "type": "module", |
+46
-44
@@ -12,7 +12,11 @@ # NimbleBrain SDK for TypeScript | ||
| - **High-level API** - Clean, intuitive interface for agents, playbooks, and conversations | ||
| - **Streaming support** - Real-time SSE streaming for agent responses with typewriter effect | ||
| - **High-level API** - Clean, intuitive interface for Nira conversations and playbooks | ||
| - **Streaming support** - Real-time SSE streaming with typewriter effect | ||
| - **TypeScript first** - Full type definitions for all API responses | ||
| - **Auto-generated types** - OpenAPI-generated types ensure API compatibility | ||
| ## Requirements | ||
| - Node.js >= 18.0.0 | ||
| ## Installation | ||
@@ -31,13 +35,11 @@ | ||
| // List agents in your workspace | ||
| const agents = await nb.agents.list(); | ||
| console.log('Available agents:', agents); | ||
| // Create a conversation with Nira | ||
| const conversation = await nb.nira.createConversation('My Chat'); | ||
| // Create a conversation and chat with an agent | ||
| const conversation = await nb.conversations.create(agents[0].id); | ||
| // Stream the response in real-time | ||
| for await (const event of nb.messages.stream(agents[0].id, conversation.id, 'Hello!')) { | ||
| if (event.type === 'content') { | ||
| process.stdout.write(event.data.text as string); | ||
| for await (const event of nb.nira.stream(conversation.id, 'Hello!')) { | ||
| if (event.type === 'message.content') { | ||
| process.stdout.write(event.data.content as string); | ||
| } else if (event.type === 'message.done') { | ||
| console.log('\nDone!'); | ||
| } | ||
@@ -62,23 +64,25 @@ } | ||
| The SDK provides real-time streaming for agent responses via Server-Sent Events (SSE): | ||
| The SDK provides real-time streaming for Nira responses via Server-Sent Events (SSE): | ||
| ```typescript | ||
| const conversation = await nb.conversations.create(agentId); | ||
| const conversation = await nb.nira.createConversation('My Chat'); | ||
| for await (const event of nb.messages.stream(agentId, conversation.id, 'Tell me a joke')) { | ||
| for await (const event of nb.nira.stream(conversation.id, 'Tell me a joke')) { | ||
| switch (event.type) { | ||
| case 'message.start': | ||
| console.log('Agent is responding...'); | ||
| case 'message.meta': | ||
| console.log('Message ID:', event.data.messageId); | ||
| break; | ||
| case 'content': | ||
| case 'message.content': | ||
| // Text chunk - display with typewriter effect | ||
| process.stdout.write(event.data.text as string); | ||
| process.stdout.write(event.data.content as string); | ||
| break; | ||
| case 'tool.start': | ||
| console.log(`Using tool: ${event.data.display}`); | ||
| case 'message.tool': | ||
| // Tool execution status | ||
| console.log(`Tool: ${event.data.toolName} - ${event.data.status}`); | ||
| break; | ||
| case 'tool.complete': | ||
| console.log('Tool completed'); | ||
| case 'message.actionCards': | ||
| // Action cards (e.g., OAuth prompts) | ||
| console.log('Action cards:', event.data.actionCards); | ||
| break; | ||
| case 'done': | ||
| case 'message.done': | ||
| console.log('\nResponse complete!'); | ||
@@ -95,30 +99,22 @@ break; | ||
| ### Agents | ||
| ### Nira (Conversations) | ||
| ```typescript | ||
| // List all agents | ||
| const agents = await nb.agents.list(); | ||
| ``` | ||
| ### Conversations | ||
| ```typescript | ||
| // Create a new conversation | ||
| const conversation = await nb.conversations.create(agentId, 'My Chat'); | ||
| const conversation = await nb.nira.createConversation('My Chat'); | ||
| // Get conversation details | ||
| const conv = await nb.conversations.get(agentId, conversationId); | ||
| ``` | ||
| const conv = await nb.nira.getConversation(conversationId); | ||
| ### Messages | ||
| // List messages in a conversation (paginated) | ||
| const { messages, total } = await nb.nira.listMessages(conversationId, { | ||
| limit: 50, | ||
| offset: 0, | ||
| }); | ||
| ```typescript | ||
| // List messages in a conversation | ||
| const messages = await nb.messages.list(agentId, conversationId); | ||
| // Send a message (non-streaming, blocks until complete) | ||
| const response = await nb.messages.send(agentId, conversationId, 'Hello!'); | ||
| const response = await nb.nira.sendMessage(conversationId, 'Hello!'); | ||
| // Send with streaming (recommended for UI) | ||
| for await (const event of nb.messages.stream(agentId, conversationId, 'Hello!')) { | ||
| for await (const event of nb.nira.stream(conversationId, 'Hello!')) { | ||
| // Handle streaming events | ||
@@ -152,3 +148,3 @@ } | ||
| ```typescript | ||
| import { getV1Agents, postV1AgentsByAgentIdConversations } from '@nimblebrain/sdk'; | ||
| import { postV1NiraConversations, getV1NiraConversationsById } from '@nimblebrain/sdk'; | ||
| import { createClient, createConfig } from '@nimblebrain/sdk/client'; | ||
@@ -161,3 +157,6 @@ | ||
| const { data, error } = await getV1Agents({ client }); | ||
| const { data, error } = await postV1NiraConversations({ | ||
| client, | ||
| body: { title: 'My Chat' }, | ||
| }); | ||
| ``` | ||
@@ -169,3 +168,3 @@ | ||
| try { | ||
| const agents = await nb.agents.list(); | ||
| const conversation = await nb.nira.createConversation('My Chat'); | ||
| } catch (error) { | ||
@@ -205,2 +204,5 @@ if (error instanceof Error) { | ||
| npm run typecheck | ||
| # Run tests | ||
| npm run test | ||
| ``` | ||
@@ -207,0 +209,0 @@ |
| /** | ||
| * NimbleBrain SDK - High-level wrapper for the NimbleBrain Studio API | ||
| * | ||
| * This file provides a clean, intuitive interface on top of the auto-generated | ||
| * OpenAPI client functions. | ||
| */ | ||
| import { type Client } from './client'; | ||
| export interface NimbleBrainConfig { | ||
| /** Your NimbleBrain API key (e.g., 'nb_live_...') */ | ||
| apiKey: string; | ||
| /** Base URL for the API. Defaults to 'https://api.nimblebrain.ai' */ | ||
| baseUrl?: string; | ||
| } | ||
| export interface Agent { | ||
| id: string; | ||
| name: string; | ||
| type?: 'custom' | 'nira' | 'system'; | ||
| description?: string; | ||
| createdAt?: string; | ||
| updatedAt?: string; | ||
| } | ||
| export interface Playbook { | ||
| id: string; | ||
| name: string; | ||
| description?: string; | ||
| createdAt?: string; | ||
| updatedAt?: string; | ||
| } | ||
| export interface Conversation { | ||
| id: string; | ||
| title?: string; | ||
| context?: string; | ||
| status?: string; | ||
| messageCount?: number; | ||
| lastMessageAt?: string; | ||
| createdAt?: string; | ||
| } | ||
| export interface Message { | ||
| id: string; | ||
| role: 'user' | 'assistant' | 'system'; | ||
| content: string; | ||
| createdAt?: string; | ||
| } | ||
| export interface SendMessageResponse { | ||
| messageId?: string; | ||
| content?: string; | ||
| role?: string; | ||
| executionId?: string; | ||
| tokensUsed?: number; | ||
| } | ||
| export interface ExecutePlaybookResponse { | ||
| id: string; | ||
| status: 'queued'; | ||
| message?: string; | ||
| } | ||
| export interface Execution { | ||
| id: string; | ||
| status: 'queued' | 'pending' | 'running' | 'completed' | 'completed_with_errors' | 'failed' | 'cancelled'; | ||
| targetType?: 'playbook' | 'agent'; | ||
| targetId?: string; | ||
| targetName?: string; | ||
| result?: string | Record<string, unknown> | null; | ||
| startedAt?: string; | ||
| completedAt?: string; | ||
| durationMs?: number; | ||
| } | ||
| export interface StreamEvent { | ||
| type: 'message.start' | 'content' | 'tool.start' | 'tool.complete' | 'message.complete' | 'error' | 'done'; | ||
| data: Record<string, unknown>; | ||
| } | ||
| export interface WaitForCompletionOptions { | ||
| /** Maximum time to wait in milliseconds. Defaults to 60000 (1 minute) */ | ||
| timeoutMs?: number; | ||
| /** Interval between polling requests in milliseconds. Defaults to 1000 */ | ||
| pollIntervalMs?: number; | ||
| } | ||
| export declare class NimbleBrain { | ||
| private client; | ||
| private baseUrl; | ||
| private apiKey; | ||
| readonly agents: AgentsAPI; | ||
| readonly conversations: ConversationsAPI; | ||
| readonly messages: MessagesAPI; | ||
| readonly playbooks: PlaybooksAPI; | ||
| readonly executions: ExecutionsAPI; | ||
| constructor(config: NimbleBrainConfig); | ||
| } | ||
| declare class AgentsAPI { | ||
| private client; | ||
| constructor(client: Client); | ||
| /** | ||
| * List all agents in your workspace | ||
| */ | ||
| list(): Promise<Agent[]>; | ||
| } | ||
| declare class ConversationsAPI { | ||
| private client; | ||
| constructor(client: Client); | ||
| /** | ||
| * Create a new conversation with an agent | ||
| */ | ||
| create(agentId: string, title?: string): Promise<Conversation>; | ||
| /** | ||
| * Get details of a conversation | ||
| */ | ||
| get(agentId: string, conversationId: string): Promise<Conversation>; | ||
| } | ||
| declare class MessagesAPI { | ||
| private client; | ||
| private baseUrl; | ||
| private apiKey; | ||
| constructor(client: Client, baseUrl: string, apiKey: string); | ||
| /** | ||
| * List messages in a conversation | ||
| */ | ||
| list(agentId: string, conversationId: string): Promise<Message[]>; | ||
| /** | ||
| * Send a message and wait for the complete response (non-streaming) | ||
| */ | ||
| send(agentId: string, conversationId: string, content: string): Promise<SendMessageResponse>; | ||
| /** | ||
| * Send a message with streaming response (SSE) | ||
| * Returns an async generator that yields streaming events | ||
| */ | ||
| stream(agentId: string, conversationId: string, content: string): AsyncGenerator<StreamEvent>; | ||
| } | ||
| declare class PlaybooksAPI { | ||
| private client; | ||
| constructor(client: Client); | ||
| /** | ||
| * List all playbooks in your workspace | ||
| */ | ||
| list(): Promise<Playbook[]>; | ||
| /** | ||
| * Execute a playbook with optional parameters | ||
| */ | ||
| execute(playbookId: string, parameters?: Record<string, unknown>): Promise<ExecutePlaybookResponse>; | ||
| } | ||
| declare class ExecutionsAPI { | ||
| private client; | ||
| constructor(client: Client); | ||
| /** | ||
| * Get the status of an execution | ||
| */ | ||
| get(id: string): Promise<Execution>; | ||
| /** | ||
| * Wait for an execution to complete, polling at regular intervals | ||
| */ | ||
| waitForCompletion(id: string, options?: WaitForCompletionOptions): Promise<Execution>; | ||
| } | ||
| export {}; | ||
| //# sourceMappingURL=nimblebrain.d.ts.map |
| {"version":3,"file":"nimblebrain.d.ts","sourceRoot":"","sources":["../src/nimblebrain.ts"],"names":[],"mappings":"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"} |
| /** | ||
| * NimbleBrain SDK - High-level wrapper for the NimbleBrain Studio API | ||
| * | ||
| * This file provides a clean, intuitive interface on top of the auto-generated | ||
| * OpenAPI client functions. | ||
| */ | ||
| import { createClient, createConfig } from './client'; | ||
| import { getV1Agents, getV1Playbooks, postV1AgentsByAgentIdConversations, getV1AgentsByAgentIdConversationsByConversationId, getV1AgentsByAgentIdConversationsByConversationIdMessages, postV1AgentsByAgentIdConversationsByConversationIdMessages, postV1PlaybooksByPlaybookIdExecute, getV1ExecutionsById, } from './sdk.gen'; | ||
| // ============================================================================ | ||
| // NimbleBrain SDK Class | ||
| // ============================================================================ | ||
| export class NimbleBrain { | ||
| client; | ||
| baseUrl; | ||
| apiKey; | ||
| agents; | ||
| conversations; | ||
| messages; | ||
| playbooks; | ||
| executions; | ||
| constructor(config) { | ||
| this.apiKey = config.apiKey; | ||
| this.baseUrl = config.baseUrl || 'https://api.nimblebrain.ai'; | ||
| this.client = createClient(createConfig({ | ||
| baseUrl: this.baseUrl, | ||
| headers: { | ||
| Authorization: `Bearer ${this.apiKey}`, | ||
| }, | ||
| })); | ||
| // Initialize API namespaces | ||
| this.agents = new AgentsAPI(this.client); | ||
| this.conversations = new ConversationsAPI(this.client); | ||
| this.messages = new MessagesAPI(this.client, this.baseUrl, this.apiKey); | ||
| this.playbooks = new PlaybooksAPI(this.client); | ||
| this.executions = new ExecutionsAPI(this.client); | ||
| } | ||
| } | ||
| // ============================================================================ | ||
| // API Namespace Classes | ||
| // ============================================================================ | ||
| class AgentsAPI { | ||
| client; | ||
| constructor(client) { | ||
| this.client = client; | ||
| } | ||
| /** | ||
| * List all agents in your workspace | ||
| */ | ||
| async list() { | ||
| const response = await getV1Agents({ client: this.client, throwOnError: true }); | ||
| return (response.data?.agents || []); | ||
| } | ||
| } | ||
| class ConversationsAPI { | ||
| client; | ||
| constructor(client) { | ||
| this.client = client; | ||
| } | ||
| /** | ||
| * Create a new conversation with an agent | ||
| */ | ||
| async create(agentId, title) { | ||
| const response = await postV1AgentsByAgentIdConversations({ | ||
| client: this.client, | ||
| path: { agentId }, | ||
| body: { title }, | ||
| throwOnError: true, | ||
| }); | ||
| return response.data; | ||
| } | ||
| /** | ||
| * Get details of a conversation | ||
| */ | ||
| async get(agentId, conversationId) { | ||
| const response = await getV1AgentsByAgentIdConversationsByConversationId({ | ||
| client: this.client, | ||
| path: { agentId, conversationId }, | ||
| throwOnError: true, | ||
| }); | ||
| return response.data; | ||
| } | ||
| } | ||
| class MessagesAPI { | ||
| client; | ||
| baseUrl; | ||
| apiKey; | ||
| constructor(client, baseUrl, apiKey) { | ||
| this.client = client; | ||
| this.baseUrl = baseUrl; | ||
| this.apiKey = apiKey; | ||
| } | ||
| /** | ||
| * List messages in a conversation | ||
| */ | ||
| async list(agentId, conversationId) { | ||
| const response = await getV1AgentsByAgentIdConversationsByConversationIdMessages({ | ||
| client: this.client, | ||
| path: { agentId, conversationId }, | ||
| throwOnError: true, | ||
| }); | ||
| return (response.data?.messages || []); | ||
| } | ||
| /** | ||
| * Send a message and wait for the complete response (non-streaming) | ||
| */ | ||
| async send(agentId, conversationId, content) { | ||
| const response = await postV1AgentsByAgentIdConversationsByConversationIdMessages({ | ||
| client: this.client, | ||
| path: { agentId, conversationId }, | ||
| body: { content }, | ||
| throwOnError: true, | ||
| }); | ||
| return response.data; | ||
| } | ||
| /** | ||
| * Send a message with streaming response (SSE) | ||
| * Returns an async generator that yields streaming events | ||
| */ | ||
| async *stream(agentId, conversationId, content) { | ||
| const url = `${this.baseUrl}/v1/agents/${agentId}/conversations/${conversationId}/messages`; | ||
| const response = await fetch(url, { | ||
| method: 'POST', | ||
| headers: { | ||
| 'Content-Type': 'application/json', | ||
| 'Accept': 'text/event-stream', | ||
| 'Authorization': `Bearer ${this.apiKey}`, | ||
| }, | ||
| body: JSON.stringify({ content, stream: true }), | ||
| }); | ||
| if (!response.ok) { | ||
| const errorText = await response.text(); | ||
| throw new Error(`Stream request failed: ${response.status} ${errorText}`); | ||
| } | ||
| if (!response.body) { | ||
| throw new Error('No response body for streaming'); | ||
| } | ||
| const reader = response.body.pipeThrough(new TextDecoderStream()).getReader(); | ||
| let buffer = ''; | ||
| try { | ||
| while (true) { | ||
| const { done, value } = await reader.read(); | ||
| if (done) | ||
| break; | ||
| buffer += value; | ||
| const chunks = buffer.split('\n\n'); | ||
| buffer = chunks.pop() ?? ''; | ||
| for (const chunk of chunks) { | ||
| const lines = chunk.split('\n'); | ||
| let eventType; | ||
| const dataLines = []; | ||
| for (const line of lines) { | ||
| if (line.startsWith('event:')) { | ||
| eventType = line.replace(/^event:\s*/, ''); | ||
| } | ||
| else if (line.startsWith('data:')) { | ||
| dataLines.push(line.replace(/^data:\s*/, '')); | ||
| } | ||
| } | ||
| if (dataLines.length > 0) { | ||
| const rawData = dataLines.join('\n'); | ||
| let data = {}; | ||
| try { | ||
| data = JSON.parse(rawData); | ||
| } | ||
| catch { | ||
| data = { raw: rawData }; | ||
| } | ||
| yield { | ||
| type: (eventType || 'content'), | ||
| data, | ||
| }; | ||
| // Stop on done event | ||
| if (eventType === 'done') { | ||
| return; | ||
| } | ||
| } | ||
| } | ||
| } | ||
| } | ||
| finally { | ||
| reader.releaseLock(); | ||
| } | ||
| } | ||
| } | ||
| class PlaybooksAPI { | ||
| client; | ||
| constructor(client) { | ||
| this.client = client; | ||
| } | ||
| /** | ||
| * List all playbooks in your workspace | ||
| */ | ||
| async list() { | ||
| const response = await getV1Playbooks({ client: this.client, throwOnError: true }); | ||
| return (response.data?.playbooks || []); | ||
| } | ||
| /** | ||
| * Execute a playbook with optional parameters | ||
| */ | ||
| async execute(playbookId, parameters) { | ||
| const response = await postV1PlaybooksByPlaybookIdExecute({ | ||
| client: this.client, | ||
| path: { playbookId }, | ||
| body: parameters ? { parameters } : {}, | ||
| throwOnError: true, | ||
| }); | ||
| return response.data; | ||
| } | ||
| } | ||
| class ExecutionsAPI { | ||
| client; | ||
| constructor(client) { | ||
| this.client = client; | ||
| } | ||
| /** | ||
| * Get the status of an execution | ||
| */ | ||
| async get(id) { | ||
| const response = await getV1ExecutionsById({ | ||
| client: this.client, | ||
| path: { id }, | ||
| throwOnError: true, | ||
| }); | ||
| return response.data; | ||
| } | ||
| /** | ||
| * Wait for an execution to complete, polling at regular intervals | ||
| */ | ||
| async waitForCompletion(id, options) { | ||
| const timeoutMs = options?.timeoutMs ?? 60000; | ||
| const pollIntervalMs = options?.pollIntervalMs ?? 1000; | ||
| const startTime = Date.now(); | ||
| while (true) { | ||
| const execution = await this.get(id); | ||
| // Check if execution is complete (success or failure) | ||
| if (['completed', 'completed_with_errors', 'failed', 'cancelled'].includes(execution.status)) { | ||
| return execution; | ||
| } | ||
| // Check for timeout | ||
| if (Date.now() - startTime > timeoutMs) { | ||
| throw new Error(`Execution ${id} timed out after ${timeoutMs}ms (status: ${execution.status})`); | ||
| } | ||
| // Wait before next poll | ||
| await new Promise((resolve) => setTimeout(resolve, pollIntervalMs)); | ||
| } | ||
| } | ||
| } | ||
| //# sourceMappingURL=nimblebrain.js.map |
| {"version":3,"file":"nimblebrain.js","sourceRoot":"","sources":["../src/nimblebrain.ts"],"names":[],"mappings":"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"} |
| export {}; | ||
| //# sourceMappingURL=nimblebrain.test.d.ts.map |
| {"version":3,"file":"nimblebrain.test.d.ts","sourceRoot":"","sources":["../src/nimblebrain.test.ts"],"names":[],"mappings":""} |
| import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest'; | ||
| import { NimbleBrain } from './nimblebrain'; | ||
| // Mock the auto-generated SDK functions | ||
| vi.mock('./sdk.gen', () => ({ | ||
| getV1Agents: vi.fn(), | ||
| getV1Playbooks: vi.fn(), | ||
| postV1AgentsByAgentIdConversations: vi.fn(), | ||
| getV1AgentsByAgentIdConversationsByConversationId: vi.fn(), | ||
| getV1AgentsByAgentIdConversationsByConversationIdMessages: vi.fn(), | ||
| postV1AgentsByAgentIdConversationsByConversationIdMessages: vi.fn(), | ||
| postV1PlaybooksByPlaybookIdExecute: vi.fn(), | ||
| getV1ExecutionsById: vi.fn(), | ||
| })); | ||
| // Import mocked functions | ||
| import { getV1Agents, getV1Playbooks, postV1AgentsByAgentIdConversations, getV1AgentsByAgentIdConversationsByConversationId, getV1AgentsByAgentIdConversationsByConversationIdMessages, postV1AgentsByAgentIdConversationsByConversationIdMessages, postV1PlaybooksByPlaybookIdExecute, getV1ExecutionsById, } from './sdk.gen'; | ||
| describe('NimbleBrain', () => { | ||
| let sdk; | ||
| beforeEach(() => { | ||
| vi.clearAllMocks(); | ||
| sdk = new NimbleBrain({ apiKey: 'test-api-key' }); | ||
| }); | ||
| describe('constructor', () => { | ||
| it('should use default baseUrl when not provided', () => { | ||
| const client = new NimbleBrain({ apiKey: 'test-key' }); | ||
| expect(client).toBeDefined(); | ||
| }); | ||
| it('should use custom baseUrl when provided', () => { | ||
| const client = new NimbleBrain({ | ||
| apiKey: 'test-key', | ||
| baseUrl: 'https://custom.api.com', | ||
| }); | ||
| expect(client).toBeDefined(); | ||
| }); | ||
| }); | ||
| describe('agents', () => { | ||
| it('should list agents', async () => { | ||
| const mockAgents = [ | ||
| { id: 'agent-1', name: 'Agent 1', type: 'custom' }, | ||
| { id: 'agent-2', name: 'Agent 2', type: 'nira' }, | ||
| ]; | ||
| vi.mocked(getV1Agents).mockResolvedValue({ | ||
| data: { agents: mockAgents, total: 2 }, | ||
| request: new Request('http://test'), | ||
| response: new Response(), | ||
| }); | ||
| const agents = await sdk.agents.list(); | ||
| expect(agents).toEqual(mockAgents); | ||
| expect(getV1Agents).toHaveBeenCalledWith({ | ||
| client: expect.anything(), | ||
| throwOnError: true, | ||
| }); | ||
| }); | ||
| it('should return empty array when no agents', async () => { | ||
| vi.mocked(getV1Agents).mockResolvedValue({ | ||
| data: { agents: undefined, total: 0 }, | ||
| request: new Request('http://test'), | ||
| response: new Response(), | ||
| }); | ||
| const agents = await sdk.agents.list(); | ||
| expect(agents).toEqual([]); | ||
| }); | ||
| }); | ||
| describe('playbooks', () => { | ||
| it('should list playbooks', async () => { | ||
| const mockPlaybooks = [ | ||
| { id: 'pb-1', name: 'Playbook 1' }, | ||
| { id: 'pb-2', name: 'Playbook 2' }, | ||
| ]; | ||
| vi.mocked(getV1Playbooks).mockResolvedValue({ | ||
| data: { playbooks: mockPlaybooks, total: 2 }, | ||
| request: new Request('http://test'), | ||
| response: new Response(), | ||
| }); | ||
| const playbooks = await sdk.playbooks.list(); | ||
| expect(playbooks).toEqual(mockPlaybooks); | ||
| }); | ||
| it('should execute playbook without parameters', async () => { | ||
| vi.mocked(postV1PlaybooksByPlaybookIdExecute).mockResolvedValue({ | ||
| data: { id: 'exec-1', status: 'queued' }, | ||
| request: new Request('http://test'), | ||
| response: new Response(), | ||
| }); | ||
| const result = await sdk.playbooks.execute('pb-1'); | ||
| expect(result).toEqual({ id: 'exec-1', status: 'queued' }); | ||
| expect(postV1PlaybooksByPlaybookIdExecute).toHaveBeenCalledWith({ | ||
| client: expect.anything(), | ||
| path: { playbookId: 'pb-1' }, | ||
| body: {}, | ||
| throwOnError: true, | ||
| }); | ||
| }); | ||
| it('should execute playbook with parameters', async () => { | ||
| vi.mocked(postV1PlaybooksByPlaybookIdExecute).mockResolvedValue({ | ||
| data: { id: 'exec-2', status: 'queued' }, | ||
| request: new Request('http://test'), | ||
| response: new Response(), | ||
| }); | ||
| const result = await sdk.playbooks.execute('pb-1', { param1: 'value1' }); | ||
| expect(result).toEqual({ id: 'exec-2', status: 'queued' }); | ||
| expect(postV1PlaybooksByPlaybookIdExecute).toHaveBeenCalledWith({ | ||
| client: expect.anything(), | ||
| path: { playbookId: 'pb-1' }, | ||
| body: { parameters: { param1: 'value1' } }, | ||
| throwOnError: true, | ||
| }); | ||
| }); | ||
| }); | ||
| describe('conversations', () => { | ||
| it('should create a conversation', async () => { | ||
| const mockConversation = { | ||
| id: 'conv-1', | ||
| title: 'Test Chat', | ||
| status: 'active', | ||
| }; | ||
| vi.mocked(postV1AgentsByAgentIdConversations).mockResolvedValue({ | ||
| data: mockConversation, | ||
| request: new Request('http://test'), | ||
| response: new Response(), | ||
| }); | ||
| const conversation = await sdk.conversations.create('agent-1', 'Test Chat'); | ||
| expect(conversation).toEqual(mockConversation); | ||
| expect(postV1AgentsByAgentIdConversations).toHaveBeenCalledWith({ | ||
| client: expect.anything(), | ||
| path: { agentId: 'agent-1' }, | ||
| body: { title: 'Test Chat' }, | ||
| throwOnError: true, | ||
| }); | ||
| }); | ||
| it('should get a conversation', async () => { | ||
| const mockConversation = { | ||
| id: 'conv-1', | ||
| title: 'Test Chat', | ||
| messageCount: 5, | ||
| }; | ||
| vi.mocked(getV1AgentsByAgentIdConversationsByConversationId).mockResolvedValue({ | ||
| data: mockConversation, | ||
| request: new Request('http://test'), | ||
| response: new Response(), | ||
| }); | ||
| const conversation = await sdk.conversations.get('agent-1', 'conv-1'); | ||
| expect(conversation).toEqual(mockConversation); | ||
| }); | ||
| }); | ||
| describe('messages', () => { | ||
| it('should list messages', async () => { | ||
| const mockMessages = [ | ||
| { id: 'msg-1', role: 'user', content: 'Hello' }, | ||
| { id: 'msg-2', role: 'assistant', content: 'Hi there!' }, | ||
| ]; | ||
| vi.mocked(getV1AgentsByAgentIdConversationsByConversationIdMessages).mockResolvedValue({ | ||
| data: { messages: mockMessages, total: 2 }, | ||
| request: new Request('http://test'), | ||
| response: new Response(), | ||
| }); | ||
| const messages = await sdk.messages.list('agent-1', 'conv-1'); | ||
| expect(messages).toEqual(mockMessages); | ||
| }); | ||
| it('should send a message (non-streaming)', async () => { | ||
| const mockResponse = { | ||
| messageId: 'msg-3', | ||
| content: 'Hello! How can I help?', | ||
| role: 'assistant', | ||
| }; | ||
| vi.mocked(postV1AgentsByAgentIdConversationsByConversationIdMessages).mockResolvedValue({ | ||
| data: mockResponse, | ||
| request: new Request('http://test'), | ||
| response: new Response(), | ||
| }); | ||
| const response = await sdk.messages.send('agent-1', 'conv-1', 'Hello!'); | ||
| expect(response).toEqual(mockResponse); | ||
| expect(postV1AgentsByAgentIdConversationsByConversationIdMessages).toHaveBeenCalledWith({ | ||
| client: expect.anything(), | ||
| path: { agentId: 'agent-1', conversationId: 'conv-1' }, | ||
| body: { content: 'Hello!' }, | ||
| throwOnError: true, | ||
| }); | ||
| }); | ||
| }); | ||
| describe('executions', () => { | ||
| it('should get execution status', async () => { | ||
| const mockExecution = { | ||
| id: 'exec-1', | ||
| status: 'running', | ||
| targetType: 'playbook', | ||
| }; | ||
| vi.mocked(getV1ExecutionsById).mockResolvedValue({ | ||
| data: mockExecution, | ||
| request: new Request('http://test'), | ||
| response: new Response(), | ||
| }); | ||
| const execution = await sdk.executions.get('exec-1'); | ||
| expect(execution).toEqual(mockExecution); | ||
| }); | ||
| it('should wait for completion - immediate success', async () => { | ||
| const mockExecution = { | ||
| id: 'exec-1', | ||
| status: 'completed', | ||
| result: 'Success!', | ||
| }; | ||
| vi.mocked(getV1ExecutionsById).mockResolvedValue({ | ||
| data: mockExecution, | ||
| request: new Request('http://test'), | ||
| response: new Response(), | ||
| }); | ||
| const execution = await sdk.executions.waitForCompletion('exec-1'); | ||
| expect(execution).toEqual(mockExecution); | ||
| expect(getV1ExecutionsById).toHaveBeenCalledTimes(1); | ||
| }); | ||
| it('should wait for completion - polls until complete', async () => { | ||
| vi.mocked(getV1ExecutionsById) | ||
| .mockResolvedValueOnce({ | ||
| data: { id: 'exec-1', status: 'running' }, | ||
| request: new Request('http://test'), | ||
| response: new Response(), | ||
| }) | ||
| .mockResolvedValueOnce({ | ||
| data: { id: 'exec-1', status: 'running' }, | ||
| request: new Request('http://test'), | ||
| response: new Response(), | ||
| }) | ||
| .mockResolvedValueOnce({ | ||
| data: { id: 'exec-1', status: 'completed', result: 'Done!' }, | ||
| request: new Request('http://test'), | ||
| response: new Response(), | ||
| }); | ||
| const execution = await sdk.executions.waitForCompletion('exec-1', { | ||
| pollIntervalMs: 10, | ||
| }); | ||
| expect(execution.status).toBe('completed'); | ||
| expect(getV1ExecutionsById).toHaveBeenCalledTimes(3); | ||
| }); | ||
| it('should wait for completion - handles failed status', async () => { | ||
| vi.mocked(getV1ExecutionsById).mockResolvedValue({ | ||
| data: { id: 'exec-1', status: 'failed' }, | ||
| request: new Request('http://test'), | ||
| response: new Response(), | ||
| }); | ||
| const execution = await sdk.executions.waitForCompletion('exec-1'); | ||
| expect(execution.status).toBe('failed'); | ||
| }); | ||
| it('should wait for completion - times out', async () => { | ||
| vi.mocked(getV1ExecutionsById).mockResolvedValue({ | ||
| data: { id: 'exec-1', status: 'running' }, | ||
| request: new Request('http://test'), | ||
| response: new Response(), | ||
| }); | ||
| await expect(sdk.executions.waitForCompletion('exec-1', { | ||
| timeoutMs: 50, | ||
| pollIntervalMs: 20, | ||
| })).rejects.toThrow(/timed out/); | ||
| }); | ||
| }); | ||
| }); | ||
| describe('NimbleBrain.messages.stream', () => { | ||
| let sdk; | ||
| let originalFetch; | ||
| beforeEach(() => { | ||
| originalFetch = global.fetch; | ||
| sdk = new NimbleBrain({ | ||
| apiKey: 'test-api-key', | ||
| baseUrl: 'https://api.test.com', | ||
| }); | ||
| }); | ||
| afterEach(() => { | ||
| global.fetch = originalFetch; | ||
| }); | ||
| it('should stream SSE events', async () => { | ||
| const sseData = [ | ||
| 'event: message.start\ndata: {"messageId":"msg-1"}\n\n', | ||
| 'event: content\ndata: {"text":"Hello"}\n\n', | ||
| 'event: content\ndata: {"text":" world"}\n\n', | ||
| 'event: done\ndata: {}\n\n', | ||
| ].join(''); | ||
| const mockStream = new ReadableStream({ | ||
| start(controller) { | ||
| controller.enqueue(new TextEncoder().encode(sseData)); | ||
| controller.close(); | ||
| }, | ||
| }); | ||
| global.fetch = vi.fn().mockResolvedValue({ | ||
| ok: true, | ||
| body: mockStream, | ||
| }); | ||
| const events = []; | ||
| for await (const event of sdk.messages.stream('agent-1', 'conv-1', 'Hello!')) { | ||
| events.push(event); | ||
| } | ||
| expect(events).toHaveLength(4); | ||
| expect(events[0]).toEqual({ type: 'message.start', data: { messageId: 'msg-1' } }); | ||
| expect(events[1]).toEqual({ type: 'content', data: { text: 'Hello' } }); | ||
| expect(events[2]).toEqual({ type: 'content', data: { text: ' world' } }); | ||
| expect(events[3]).toEqual({ type: 'done', data: {} }); | ||
| expect(global.fetch).toHaveBeenCalledWith('https://api.test.com/v1/agents/agent-1/conversations/conv-1/messages', expect.objectContaining({ | ||
| method: 'POST', | ||
| headers: expect.objectContaining({ | ||
| 'Content-Type': 'application/json', | ||
| 'Accept': 'text/event-stream', | ||
| 'Authorization': 'Bearer test-api-key', | ||
| }), | ||
| body: JSON.stringify({ content: 'Hello!', stream: true }), | ||
| })); | ||
| }); | ||
| it('should handle chunked SSE data', async () => { | ||
| // Simulate data arriving in chunks that split across event boundaries | ||
| const mockStream = new ReadableStream({ | ||
| start(controller) { | ||
| controller.enqueue(new TextEncoder().encode('event: content\ndata: {"te')); | ||
| controller.enqueue(new TextEncoder().encode('xt":"chunk1"}\n\nevent: done\ndata: {}\n\n')); | ||
| controller.close(); | ||
| }, | ||
| }); | ||
| global.fetch = vi.fn().mockResolvedValue({ | ||
| ok: true, | ||
| body: mockStream, | ||
| }); | ||
| const events = []; | ||
| for await (const event of sdk.messages.stream('agent-1', 'conv-1', 'test')) { | ||
| events.push(event); | ||
| } | ||
| expect(events).toHaveLength(2); | ||
| expect(events[0]).toEqual({ type: 'content', data: { text: 'chunk1' } }); | ||
| expect(events[1]).toEqual({ type: 'done', data: {} }); | ||
| }); | ||
| it('should throw on non-ok response', async () => { | ||
| global.fetch = vi.fn().mockResolvedValue({ | ||
| ok: false, | ||
| status: 401, | ||
| text: () => Promise.resolve('Unauthorized'), | ||
| }); | ||
| await expect(async () => { | ||
| for await (const _ of sdk.messages.stream('agent-1', 'conv-1', 'test')) { | ||
| // consume | ||
| } | ||
| }).rejects.toThrow(/401/); | ||
| }); | ||
| it('should throw when no response body', async () => { | ||
| global.fetch = vi.fn().mockResolvedValue({ | ||
| ok: true, | ||
| body: null, | ||
| }); | ||
| await expect(async () => { | ||
| for await (const _ of sdk.messages.stream('agent-1', 'conv-1', 'test')) { | ||
| // consume | ||
| } | ||
| }).rejects.toThrow(/No response body/); | ||
| }); | ||
| it('should handle tool events', async () => { | ||
| const sseData = [ | ||
| 'event: tool.start\ndata: {"tool":"search","display":"Searching..."}\n\n', | ||
| 'event: tool.complete\ndata: {"tool":"search"}\n\n', | ||
| 'event: done\ndata: {}\n\n', | ||
| ].join(''); | ||
| const mockStream = new ReadableStream({ | ||
| start(controller) { | ||
| controller.enqueue(new TextEncoder().encode(sseData)); | ||
| controller.close(); | ||
| }, | ||
| }); | ||
| global.fetch = vi.fn().mockResolvedValue({ | ||
| ok: true, | ||
| body: mockStream, | ||
| }); | ||
| const events = []; | ||
| for await (const event of sdk.messages.stream('agent-1', 'conv-1', 'search something')) { | ||
| events.push(event); | ||
| } | ||
| expect(events).toHaveLength(3); | ||
| expect(events[0].type).toBe('tool.start'); | ||
| expect(events[1].type).toBe('tool.complete'); | ||
| }); | ||
| }); | ||
| //# sourceMappingURL=nimblebrain.test.js.map |
| {"version":3,"file":"nimblebrain.test.js","sourceRoot":"","sources":["../src/nimblebrain.test.ts"],"names":[],"mappings":"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"} |
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
218
0.93%0
-100%12
-40%164668
-21.6%67
-10.67%2270
-19.53%