@chanl-ai/sdk 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/dist/adapters/openai.d.ts +106 -0
  2. package/dist/adapters/openai.d.ts.map +1 -0
  3. package/dist/adapters/openai.js +185 -0
  4. package/dist/adapters/openai.js.map +1 -0
  5. package/dist/client.d.ts +74 -0
  6. package/dist/client.d.ts.map +1 -0
  7. package/dist/client.js +293 -0
  8. package/dist/client.js.map +1 -0
  9. package/dist/errors/index.d.ts +179 -0
  10. package/dist/errors/index.d.ts.map +1 -0
  11. package/dist/errors/index.js +319 -0
  12. package/dist/errors/index.js.map +1 -0
  13. package/dist/index.d.ts +38 -0
  14. package/dist/index.d.ts.map +1 -0
  15. package/dist/index.js +76 -0
  16. package/dist/index.js.map +1 -0
  17. package/dist/live/index.d.ts +9 -0
  18. package/dist/live/index.d.ts.map +1 -0
  19. package/dist/live/index.js +16 -0
  20. package/dist/live/index.js.map +1 -0
  21. package/dist/live/live-call.d.ts +48 -0
  22. package/dist/live/live-call.d.ts.map +1 -0
  23. package/dist/live/live-call.js +148 -0
  24. package/dist/live/live-call.js.map +1 -0
  25. package/dist/live/live-chat.d.ts +71 -0
  26. package/dist/live/live-chat.d.ts.map +1 -0
  27. package/dist/live/live-chat.js +95 -0
  28. package/dist/live/live-chat.js.map +1 -0
  29. package/dist/live/live-execution.d.ts +55 -0
  30. package/dist/live/live-execution.d.ts.map +1 -0
  31. package/dist/live/live-execution.js +170 -0
  32. package/dist/live/live-execution.js.map +1 -0
  33. package/dist/live/typed-emitter.d.ts +15 -0
  34. package/dist/live/typed-emitter.d.ts.map +1 -0
  35. package/dist/live/typed-emitter.js +40 -0
  36. package/dist/live/typed-emitter.js.map +1 -0
  37. package/dist/live/types.d.ts +24 -0
  38. package/dist/live/types.d.ts.map +1 -0
  39. package/dist/live/types.js +6 -0
  40. package/dist/live/types.js.map +1 -0
  41. package/dist/modules/agents.d.ts +378 -0
  42. package/dist/modules/agents.d.ts.map +1 -0
  43. package/dist/modules/agents.js +259 -0
  44. package/dist/modules/agents.js.map +1 -0
  45. package/dist/modules/alerts.d.ts +43 -0
  46. package/dist/modules/alerts.d.ts.map +1 -0
  47. package/dist/modules/alerts.js +56 -0
  48. package/dist/modules/alerts.js.map +1 -0
  49. package/dist/modules/audio.d.ts +47 -0
  50. package/dist/modules/audio.d.ts.map +1 -0
  51. package/dist/modules/audio.js +75 -0
  52. package/dist/modules/audio.js.map +1 -0
  53. package/dist/modules/auth.d.ts +76 -0
  54. package/dist/modules/auth.d.ts.map +1 -0
  55. package/dist/modules/auth.js +59 -0
  56. package/dist/modules/auth.js.map +1 -0
  57. package/dist/modules/calls.d.ts +825 -0
  58. package/dist/modules/calls.d.ts.map +1 -0
  59. package/dist/modules/calls.js +398 -0
  60. package/dist/modules/calls.js.map +1 -0
  61. package/dist/modules/chat.d.ts +165 -0
  62. package/dist/modules/chat.d.ts.map +1 -0
  63. package/dist/modules/chat.js +169 -0
  64. package/dist/modules/chat.js.map +1 -0
  65. package/dist/modules/health.d.ts +45 -0
  66. package/dist/modules/health.d.ts.map +1 -0
  67. package/dist/modules/health.js +22 -0
  68. package/dist/modules/health.js.map +1 -0
  69. package/dist/modules/knowledge.d.ts +202 -0
  70. package/dist/modules/knowledge.d.ts.map +1 -0
  71. package/dist/modules/knowledge.js +147 -0
  72. package/dist/modules/knowledge.js.map +1 -0
  73. package/dist/modules/mcp.d.ts +140 -0
  74. package/dist/modules/mcp.d.ts.map +1 -0
  75. package/dist/modules/mcp.js +110 -0
  76. package/dist/modules/mcp.js.map +1 -0
  77. package/dist/modules/memory.d.ts +163 -0
  78. package/dist/modules/memory.d.ts.map +1 -0
  79. package/dist/modules/memory.js +208 -0
  80. package/dist/modules/memory.js.map +1 -0
  81. package/dist/modules/personas.d.ts +168 -0
  82. package/dist/modules/personas.d.ts.map +1 -0
  83. package/dist/modules/personas.js +106 -0
  84. package/dist/modules/personas.js.map +1 -0
  85. package/dist/modules/prompts.d.ts +128 -0
  86. package/dist/modules/prompts.d.ts.map +1 -0
  87. package/dist/modules/prompts.js +93 -0
  88. package/dist/modules/prompts.js.map +1 -0
  89. package/dist/modules/scenarios.d.ts +294 -0
  90. package/dist/modules/scenarios.d.ts.map +1 -0
  91. package/dist/modules/scenarios.js +349 -0
  92. package/dist/modules/scenarios.js.map +1 -0
  93. package/dist/modules/scorecard.d.ts +642 -0
  94. package/dist/modules/scorecard.d.ts.map +1 -0
  95. package/dist/modules/scorecard.js +327 -0
  96. package/dist/modules/scorecard.js.map +1 -0
  97. package/dist/modules/tools.d.ts +222 -0
  98. package/dist/modules/tools.d.ts.map +1 -0
  99. package/dist/modules/tools.js +302 -0
  100. package/dist/modules/tools.js.map +1 -0
  101. package/dist/modules/toolsets.d.ts +173 -0
  102. package/dist/modules/toolsets.d.ts.map +1 -0
  103. package/dist/modules/toolsets.js +216 -0
  104. package/dist/modules/toolsets.js.map +1 -0
  105. package/dist/modules/transcript.d.ts +60 -0
  106. package/dist/modules/transcript.d.ts.map +1 -0
  107. package/dist/modules/transcript.js +69 -0
  108. package/dist/modules/transcript.js.map +1 -0
  109. package/dist/modules/workspace.d.ts +48 -0
  110. package/dist/modules/workspace.d.ts.map +1 -0
  111. package/dist/modules/workspace.js +49 -0
  112. package/dist/modules/workspace.js.map +1 -0
  113. package/dist/types/api.d.ts +8 -0
  114. package/dist/types/api.d.ts.map +1 -0
  115. package/dist/types/api.js +25 -0
  116. package/dist/types/api.js.map +1 -0
  117. package/dist/types/config.d.ts +70 -0
  118. package/dist/types/config.d.ts.map +1 -0
  119. package/dist/types/config.js +3 -0
  120. package/dist/types/config.js.map +1 -0
  121. package/dist/types/memory.d.ts +243 -0
  122. package/dist/types/memory.d.ts.map +1 -0
  123. package/dist/types/memory.js +9 -0
  124. package/dist/types/memory.js.map +1 -0
  125. package/dist/types/tool-calls.d.ts +61 -0
  126. package/dist/types/tool-calls.d.ts.map +1 -0
  127. package/dist/types/tool-calls.js +9 -0
  128. package/dist/types/tool-calls.js.map +1 -0
  129. package/dist/types/tools.d.ts +321 -0
  130. package/dist/types/tools.d.ts.map +1 -0
  131. package/dist/types/tools.js +9 -0
  132. package/dist/types/tools.js.map +1 -0
  133. package/dist/types/toolsets.d.ts +149 -0
  134. package/dist/types/toolsets.d.ts.map +1 -0
  135. package/dist/types/toolsets.js +8 -0
  136. package/dist/types/toolsets.js.map +1 -0
  137. package/package.json +60 -0
@@ -0,0 +1,169 @@
1
+ "use strict";
2
+ /**
3
+ * ChatModule - SDK module for chat session management
4
+ *
5
+ * Provides operations for creating and managing text chat sessions
6
+ * with AI agents via interactions-service. This is the canonical way
7
+ * to test agents via text — it routes through interactions-service
8
+ * which owns the full lifecycle (Interaction, Transcript, billing,
9
+ * evaluation).
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ChatModule = void 0;
13
+ // ============================================================================
14
+ // MODULE
15
+ // ============================================================================
16
+ const live_chat_1 = require("../live/live-chat");
17
+ class ChatModule {
18
+ constructor(sdk) {
19
+ this.sdk = sdk;
20
+ }
21
+ /**
22
+ * Create a new chat session with an agent
23
+ *
24
+ * Creates a session via interactions-service which manages the full
25
+ * lifecycle including transcription, billing, and evaluation.
26
+ *
27
+ * @example
28
+ * ```typescript
29
+ * const { data } = await sdk.chat.createSession('ws_123', 'agent_abc', {
30
+ * internal: true,
31
+ * scorecardId: 'sc_456'
32
+ * });
33
+ * console.log('Session:', data.sessionId);
34
+ * ```
35
+ */
36
+ async createSession(agentId, options) {
37
+ return this.sdk.request('POST', `/api/v1/interactions/chat?agentId=${encodeURIComponent(agentId)}`, options || {});
38
+ }
39
+ /**
40
+ * Send a message to an active chat session
41
+ *
42
+ * @example
43
+ * ```typescript
44
+ * const { data } = await sdk.chat.sendMessage('ws_123', 'session_abc', 'Hello!');
45
+ * console.log('Reply:', data.message);
46
+ * ```
47
+ */
48
+ async sendMessage(sessionId, message) {
49
+ return this.sdk.request('POST', `/api/v1/interactions/${sessionId}/message`, { message });
50
+ }
51
+ /**
52
+ * Send a message and stream the response in real time.
53
+ *
54
+ * The backend uses Vercel AI SDK's `pipeTextStreamToResponse()` which
55
+ * sends raw UTF-8 text chunks (not SSE JSON). Each chunk is forwarded
56
+ * to the `onChunk` callback as it arrives.
57
+ *
58
+ * Note: Streaming returns `{ message, latencyMs }` only — tool calls
59
+ * and usage metadata are not available in the stream. Use `sendMessage()`
60
+ * for full metadata, or fetch message history after streaming completes.
61
+ *
62
+ * @example
63
+ * ```typescript
64
+ * const response = await sdk.chat.streamMessage('ws_123', 'session_abc', 'Hello!', (chunk) => {
65
+ * process.stdout.write(chunk);
66
+ * });
67
+ * console.log('\nFull response:', response.data.message);
68
+ * ```
69
+ */
70
+ async streamMessage(sessionId, message, onChunk) {
71
+ const startTime = Date.now();
72
+ const response = await this.sdk.requestStream('POST', `/api/v1/interactions/${sessionId}/message?stream=true`, { message });
73
+ const body = response.body;
74
+ if (!body) {
75
+ throw new Error('No response body for stream');
76
+ }
77
+ const reader = body.getReader();
78
+ const decoder = new TextDecoder();
79
+ let fullText = '';
80
+ try {
81
+ for (;;) {
82
+ const { done, value } = await reader.read();
83
+ if (done)
84
+ break;
85
+ const chunk = decoder.decode(value, { stream: true });
86
+ if (chunk) {
87
+ fullText += chunk;
88
+ onChunk(chunk);
89
+ }
90
+ }
91
+ }
92
+ finally {
93
+ reader.releaseLock();
94
+ }
95
+ return {
96
+ success: true,
97
+ data: {
98
+ sessionId,
99
+ message: fullText,
100
+ latencyMs: Date.now() - startTime,
101
+ },
102
+ message: 'Success',
103
+ timestamp: new Date().toISOString(),
104
+ };
105
+ }
106
+ /**
107
+ * Get message history for a chat session
108
+ *
109
+ * @example
110
+ * ```typescript
111
+ * const { data } = await sdk.chat.getMessages('ws_123', 'session_abc');
112
+ * data.messages.forEach(m => console.log(`${m.role}: ${m.content}`));
113
+ * ```
114
+ */
115
+ async getMessages(sessionId) {
116
+ return this.sdk.request('GET', `/api/v1/interactions/${sessionId}/messages`);
117
+ }
118
+ /**
119
+ * End a chat session
120
+ *
121
+ * Finalizes the session, creating a transcript and triggering
122
+ * evaluation if a scorecard is configured.
123
+ *
124
+ * @example
125
+ * ```typescript
126
+ * const { data } = await sdk.chat.endSession('ws_123', 'session_abc');
127
+ * console.log('Ended:', data.success);
128
+ * ```
129
+ */
130
+ async endSession(sessionId, options) {
131
+ return this.sdk.request('POST', `/api/v1/interactions/${sessionId}/end`, options || {});
132
+ }
133
+ /**
134
+ * Delete a chat session and all associated data
135
+ *
136
+ * @example
137
+ * ```typescript
138
+ * const { data } = await sdk.chat.deleteSession('ws_123', 'session_abc');
139
+ * console.log('Deleted:', data.deleted);
140
+ * ```
141
+ */
142
+ async deleteSession(sessionId) {
143
+ return this.sdk.request('DELETE', `/api/v1/interactions/${sessionId}/chat`);
144
+ }
145
+ /**
146
+ * Create a chat session and return a LiveChat wrapper
147
+ *
148
+ * Combines `createSession()` with event-driven messaging. The returned
149
+ * `LiveChat` emits events for messages and session lifecycle.
150
+ *
151
+ * @example
152
+ * ```typescript
153
+ * const chat = await sdk.chat.session('agent_abc');
154
+ * chat.on('message', (msg) => console.log('Agent:', msg.message));
155
+ *
156
+ * const reply = await chat.send('Hello!');
157
+ * await chat.end();
158
+ * ```
159
+ */
160
+ async session(agentId, options) {
161
+ const response = await this.createSession(agentId, options);
162
+ if (!response.success || !response.data) {
163
+ throw new Error(response.message || 'Failed to create chat session');
164
+ }
165
+ return new live_chat_1.LiveChat(this.sdk, response.data);
166
+ }
167
+ }
168
+ exports.ChatModule = ChatModule;
169
+ //# sourceMappingURL=chat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/modules/chat.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import { ChanlSDK } from '../client';
2
+ import { ApiResponse } from '../types/config';
3
+ export interface HealthStatus {
4
+ status: 'healthy' | 'unhealthy';
5
+ timestamp: string;
6
+ version: string;
7
+ uptime: number;
8
+ }
9
+ export interface DetailedHealthStatus {
10
+ status: 'healthy' | 'unhealthy';
11
+ timestamp: string;
12
+ version: string;
13
+ uptime: number;
14
+ components: {
15
+ database: {
16
+ status: 'healthy' | 'unhealthy';
17
+ responseTime: number;
18
+ };
19
+ redis?: {
20
+ status: 'healthy' | 'unhealthy';
21
+ responseTime: number;
22
+ };
23
+ deepgram?: {
24
+ status: 'healthy' | 'unhealthy';
25
+ responseTime: number;
26
+ };
27
+ openai?: {
28
+ status: 'healthy' | 'unhealthy';
29
+ responseTime: number;
30
+ };
31
+ };
32
+ }
33
+ export declare class HealthModule {
34
+ private sdk;
35
+ constructor(sdk: ChanlSDK);
36
+ /**
37
+ * Get basic health status
38
+ */
39
+ getHealth(): Promise<ApiResponse<HealthStatus>>;
40
+ /**
41
+ * Get detailed health status
42
+ */
43
+ getDetailedHealth(): Promise<ApiResponse<DetailedHealthStatus>>;
44
+ }
45
+ //# sourceMappingURL=health.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/modules/health.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,SAAS,GAAG,WAAW,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,SAAS,GAAG,WAAW,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE;QACV,QAAQ,EAAE;YACR,MAAM,EAAE,SAAS,GAAG,WAAW,CAAC;YAChC,YAAY,EAAE,MAAM,CAAC;SACtB,CAAC;QACF,KAAK,CAAC,EAAE;YACN,MAAM,EAAE,SAAS,GAAG,WAAW,CAAC;YAChC,YAAY,EAAE,MAAM,CAAC;SACtB,CAAC;QACF,QAAQ,CAAC,EAAE;YACT,MAAM,EAAE,SAAS,GAAG,WAAW,CAAC;YAChC,YAAY,EAAE,MAAM,CAAC;SACtB,CAAC;QACF,MAAM,CAAC,EAAE;YACP,MAAM,EAAE,SAAS,GAAG,WAAW,CAAC;YAChC,YAAY,EAAE,MAAM,CAAC;SACtB,CAAC;KACH,CAAC;CACH;AAED,qBAAa,YAAY;IACX,OAAO,CAAC,GAAG;gBAAH,GAAG,EAAE,QAAQ;IAEjC;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAIrD;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;CAGtE"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HealthModule = void 0;
4
+ class HealthModule {
5
+ constructor(sdk) {
6
+ this.sdk = sdk;
7
+ }
8
+ /**
9
+ * Get basic health status
10
+ */
11
+ async getHealth() {
12
+ return this.sdk.request('GET', '/health');
13
+ }
14
+ /**
15
+ * Get detailed health status
16
+ */
17
+ async getDetailedHealth() {
18
+ return this.sdk.request('GET', '/health/ready');
19
+ }
20
+ }
21
+ exports.HealthModule = HealthModule;
22
+ //# sourceMappingURL=health.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/modules/health.ts"],"names":[],"mappings":";;;AAmCA,MAAa,YAAY;IACvB,YAAoB,GAAa;QAAb,QAAG,GAAH,GAAG,CAAU;IAAG,CAAC;IAErC;;OAEG;IACH,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB;QACrB,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IAClD,CAAC;CACF;AAhBD,oCAgBC"}
@@ -0,0 +1,202 @@
1
+ import { ChanlSDK } from "../client";
2
+ import { ApiResponse } from "../types/config";
3
+ export type KnowledgeSource = "text" | "url" | "file" | "manual" | "document" | "faq" | "api_docs" | "transcript";
4
+ export type ProcessingStatus = "pending" | "processing" | "completed" | "failed";
5
+ export interface KnowledgeMetadata {
6
+ category?: string;
7
+ tags?: string[];
8
+ url?: string;
9
+ author?: string;
10
+ }
11
+ export interface CrawlOptions {
12
+ /** Crawl depth: 0 = single page only, 1 = page + direct links, 2 = two levels deep */
13
+ depth?: number;
14
+ /** Maximum number of pages to crawl (limit: 50) */
15
+ maxPages?: number;
16
+ /** Only follow links on the same domain */
17
+ sameDomainOnly?: boolean;
18
+ }
19
+ export interface ChunkingOptions {
20
+ /** Target chunk size in tokens (default: 512) */
21
+ chunkSizeTokens?: number;
22
+ /** Overlap between chunks in tokens (default: 50) */
23
+ overlapTokens?: number;
24
+ /** Preserve sentence boundaries (default: true) */
25
+ preserveSentences?: boolean;
26
+ }
27
+ export interface Knowledge {
28
+ id: string;
29
+ _id?: string;
30
+ title: string;
31
+ content?: string;
32
+ source: KnowledgeSource;
33
+ processingStatus: ProcessingStatus;
34
+ processingProgress?: number;
35
+ taskId?: string;
36
+ folderId?: string;
37
+ metadata?: KnowledgeMetadata;
38
+ externalReferenceIds?: Record<string, string>;
39
+ isEnabled?: boolean;
40
+ chunkCount?: number;
41
+ tokenCount?: number;
42
+ createdAt?: string;
43
+ updatedAt?: string;
44
+ }
45
+ export interface KnowledgeChunk {
46
+ id: string;
47
+ _id?: string;
48
+ knowledgeId: string;
49
+ content: string;
50
+ index: number;
51
+ embedding?: number[];
52
+ tokenCount?: number;
53
+ metadata?: Record<string, unknown>;
54
+ }
55
+ /**
56
+ * Unified create knowledge data - supports text, URL, and file sources
57
+ */
58
+ export interface CreateKnowledgeData {
59
+ /** Title of the knowledge entry */
60
+ title: string;
61
+ /** Source type: "text" for direct content, "url" for web fetch, "file" for uploads */
62
+ source: KnowledgeSource;
63
+ /** Content (required for source="text" or legacy sources) */
64
+ content?: string;
65
+ /** URL to fetch (required for source="url") */
66
+ url?: string;
67
+ /** Folder ID to organize the document */
68
+ folderId?: string;
69
+ /** Additional metadata */
70
+ metadata?: KnowledgeMetadata;
71
+ /** Whether the entry is enabled for search */
72
+ isEnabled?: boolean;
73
+ /** External reference IDs for multi-tenant filtering */
74
+ externalReferenceIds?: Record<string, string>;
75
+ /** Chunking options for document processing */
76
+ chunkingOptions?: ChunkingOptions;
77
+ /** URL crawling options (only for source="url") */
78
+ crawlOptions?: CrawlOptions;
79
+ }
80
+ export interface UpdateKnowledgeData {
81
+ title?: string;
82
+ content?: string;
83
+ folderId?: string;
84
+ metadata?: KnowledgeMetadata;
85
+ isEnabled?: boolean;
86
+ externalReferenceIds?: Record<string, string>;
87
+ }
88
+ export interface KnowledgeFilters {
89
+ search?: string;
90
+ source?: KnowledgeSource;
91
+ folderId?: string;
92
+ isEnabled?: boolean;
93
+ processingStatus?: ProcessingStatus;
94
+ externalReferenceIds?: Record<string, string>;
95
+ page?: number;
96
+ limit?: number;
97
+ }
98
+ export interface SearchKnowledgeData {
99
+ query: string;
100
+ /** Search mode: hybrid (default), vector, or text */
101
+ mode?: "hybrid" | "vector" | "text";
102
+ /** Maximum number of results */
103
+ limit?: number;
104
+ /** Filter by external reference IDs */
105
+ externalReferenceIds?: Record<string, string>;
106
+ /** Minimum similarity score (0-1) */
107
+ minScore?: number;
108
+ }
109
+ export interface SearchResult {
110
+ id: string;
111
+ knowledgeId: string;
112
+ title: string;
113
+ content: string;
114
+ score: number;
115
+ metadata?: Record<string, unknown>;
116
+ }
117
+ export interface SearchResponse {
118
+ results: SearchResult[];
119
+ query: string;
120
+ mode: string;
121
+ totalResults: number;
122
+ }
123
+ export interface KnowledgeListResponse {
124
+ items: Knowledge[];
125
+ total: number;
126
+ pagination?: {
127
+ page: number;
128
+ limit: number;
129
+ totalPages: number;
130
+ hasNext: boolean;
131
+ hasPrev: boolean;
132
+ };
133
+ }
134
+ export interface ProcessingTaskResponse {
135
+ id: string;
136
+ status: ProcessingStatus;
137
+ progress: number;
138
+ currentStep?: string;
139
+ documentId?: string;
140
+ error?: string;
141
+ result?: {
142
+ chunkCount: number;
143
+ wordCount: number;
144
+ characterCount: number;
145
+ processingTimeMs: number;
146
+ };
147
+ createdAt: string;
148
+ startedAt?: string;
149
+ completedAt?: string;
150
+ }
151
+ export declare class KnowledgeModule {
152
+ private sdk;
153
+ constructor(sdk: ChanlSDK);
154
+ /**
155
+ * List all knowledge entries with optional filters
156
+ */
157
+ list(filters?: KnowledgeFilters): Promise<ApiResponse<KnowledgeListResponse>>;
158
+ /**
159
+ * Get a single knowledge entry by ID
160
+ */
161
+ get(id: string): Promise<ApiResponse<Knowledge>>;
162
+ /**
163
+ * Create a new knowledge entry (unified endpoint)
164
+ *
165
+ * Supports three input methods:
166
+ * - source='text': Direct text content (sync, immediate completion)
167
+ * - source='url': Fetch from URL (async, returns taskId)
168
+ * - source='file': Upload file via multipart (async, returns taskId)
169
+ *
170
+ * For file uploads, use createFromFile() method instead.
171
+ */
172
+ create(data: CreateKnowledgeData): Promise<ApiResponse<Knowledge>>;
173
+ /**
174
+ * Create knowledge from a file upload
175
+ *
176
+ * @param file - File buffer or Blob
177
+ * @param filename - Original filename
178
+ * @param options - Additional options (title, folderId, etc.)
179
+ */
180
+ createFromFile(file: Buffer | Blob, filename: string, options?: Omit<CreateKnowledgeData, "source" | "content" | "url">): Promise<ApiResponse<Knowledge>>;
181
+ /**
182
+ * Update an existing knowledge entry
183
+ */
184
+ update(id: string, data: UpdateKnowledgeData): Promise<ApiResponse<Knowledge>>;
185
+ /**
186
+ * Delete a knowledge entry
187
+ */
188
+ delete(id: string): Promise<ApiResponse<void>>;
189
+ /**
190
+ * Search knowledge base
191
+ */
192
+ search(data: SearchKnowledgeData): Promise<ApiResponse<SearchResponse>>;
193
+ /**
194
+ * Get processing task status
195
+ */
196
+ getTaskStatus(taskId: string): Promise<ApiResponse<ProcessingTaskResponse>>;
197
+ /**
198
+ * Get chunks for a knowledge entry
199
+ */
200
+ getChunks(knowledgeId: string): Promise<ApiResponse<KnowledgeChunk[]>>;
201
+ }
202
+ //# sourceMappingURL=knowledge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledge.d.ts","sourceRoot":"","sources":["../../src/modules/knowledge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,147 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.KnowledgeModule = void 0;
7
+ const form_data_1 = __importDefault(require("form-data"));
8
+ // ============================================================================
9
+ // KNOWLEDGE MODULE
10
+ // ============================================================================
11
+ class KnowledgeModule {
12
+ constructor(sdk) {
13
+ this.sdk = sdk;
14
+ }
15
+ /**
16
+ * List all knowledge entries with optional filters
17
+ */
18
+ async list(filters) {
19
+ const queryParams = new URLSearchParams();
20
+ if (filters?.search) {
21
+ queryParams.append("search", filters.search);
22
+ }
23
+ if (filters?.source) {
24
+ queryParams.append("source", filters.source);
25
+ }
26
+ if (filters?.folderId) {
27
+ queryParams.append("folderId", filters.folderId);
28
+ }
29
+ if (filters?.isEnabled !== undefined) {
30
+ queryParams.append("isEnabled", String(filters.isEnabled));
31
+ }
32
+ if (filters?.processingStatus) {
33
+ queryParams.append("processingStatus", filters.processingStatus);
34
+ }
35
+ if (filters?.externalReferenceIds) {
36
+ queryParams.append("externalReferenceIds", JSON.stringify(filters.externalReferenceIds));
37
+ }
38
+ if (filters?.page) {
39
+ queryParams.append("page", filters.page.toString());
40
+ }
41
+ if (filters?.limit) {
42
+ queryParams.append("limit", filters.limit.toString());
43
+ }
44
+ const url = `/api/v1/knowledge${queryParams.toString() ? `?${queryParams.toString()}` : ""}`;
45
+ return this.sdk.request("GET", url);
46
+ }
47
+ /**
48
+ * Get a single knowledge entry by ID
49
+ */
50
+ async get(id) {
51
+ return this.sdk.request("GET", `/api/v1/knowledge/${id}`);
52
+ }
53
+ /**
54
+ * Create a new knowledge entry (unified endpoint)
55
+ *
56
+ * Supports three input methods:
57
+ * - source='text': Direct text content (sync, immediate completion)
58
+ * - source='url': Fetch from URL (async, returns taskId)
59
+ * - source='file': Upload file via multipart (async, returns taskId)
60
+ *
61
+ * For file uploads, use createFromFile() method instead.
62
+ */
63
+ async create(data) {
64
+ return this.sdk.request("POST", "/api/v1/knowledge", data);
65
+ }
66
+ /**
67
+ * Create knowledge from a file upload
68
+ *
69
+ * @param file - File buffer or Blob
70
+ * @param filename - Original filename
71
+ * @param options - Additional options (title, folderId, etc.)
72
+ */
73
+ async createFromFile(file, filename, options) {
74
+ const formData = new form_data_1.default();
75
+ // Add file - use form-data package for Node.js compatibility
76
+ if (file instanceof Buffer) {
77
+ formData.append("file", file, { filename });
78
+ }
79
+ else {
80
+ // For Blob (browser), convert to buffer first
81
+ const arrayBuffer = await file.arrayBuffer();
82
+ formData.append("file", Buffer.from(arrayBuffer), { filename });
83
+ }
84
+ // Add source
85
+ formData.append("source", "file");
86
+ // Add optional fields
87
+ if (options?.title) {
88
+ formData.append("title", options.title);
89
+ }
90
+ if (options?.folderId) {
91
+ formData.append("folderId", options.folderId);
92
+ }
93
+ if (options?.metadata) {
94
+ // Filter out undefined values and only append if there's actual data
95
+ const cleanMetadata = Object.fromEntries(Object.entries(options.metadata).filter(([, v]) => v !== undefined));
96
+ if (Object.keys(cleanMetadata).length > 0) {
97
+ formData.append("metadata", JSON.stringify(cleanMetadata));
98
+ }
99
+ }
100
+ if (options?.isEnabled !== undefined) {
101
+ formData.append("isEnabled", String(options.isEnabled));
102
+ }
103
+ if (options?.externalReferenceIds) {
104
+ formData.append("externalReferenceIds", JSON.stringify(options.externalReferenceIds));
105
+ }
106
+ if (options?.chunkingOptions) {
107
+ formData.append("chunkingOptions", JSON.stringify(options.chunkingOptions));
108
+ }
109
+ return this.sdk.request("POST", "/api/v1/knowledge", formData, {
110
+ headers: {
111
+ ...formData.getHeaders(),
112
+ },
113
+ });
114
+ }
115
+ /**
116
+ * Update an existing knowledge entry
117
+ */
118
+ async update(id, data) {
119
+ return this.sdk.request("PATCH", `/api/v1/knowledge/${id}`, data);
120
+ }
121
+ /**
122
+ * Delete a knowledge entry
123
+ */
124
+ async delete(id) {
125
+ return this.sdk.request("DELETE", `/api/v1/knowledge/${id}`);
126
+ }
127
+ /**
128
+ * Search knowledge base
129
+ */
130
+ async search(data) {
131
+ return this.sdk.request("POST", "/api/v1/knowledge/search", data);
132
+ }
133
+ /**
134
+ * Get processing task status
135
+ */
136
+ async getTaskStatus(taskId) {
137
+ return this.sdk.request("GET", `/api/v1/knowledge/tasks/${taskId}`);
138
+ }
139
+ /**
140
+ * Get chunks for a knowledge entry
141
+ */
142
+ async getChunks(knowledgeId) {
143
+ return this.sdk.request("GET", `/api/v1/knowledge/${knowledgeId}/chunks`);
144
+ }
145
+ }
146
+ exports.KnowledgeModule = KnowledgeModule;
147
+ //# sourceMappingURL=knowledge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledge.js","sourceRoot":"","sources":["../../src/modules/knowledge.ts"],"names":[],"mappings":";;;;;;AAEA,0DAAiC;AAyKjC,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E,MAAa,eAAe;IAC1B,YAAoB,GAAa;QAAb,QAAG,GAAH,GAAG,CAAU;IAAG,CAAC;IAErC;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,OAA0B;QACnC,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;QAE1C,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACpB,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACpB,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;YACtB,WAAW,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,OAAO,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;YACrC,WAAW,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,OAAO,EAAE,gBAAgB,EAAE,CAAC;YAC9B,WAAW,CAAC,MAAM,CAAC,kBAAkB,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,OAAO,EAAE,oBAAoB,EAAE,CAAC;YAClC,WAAW,CAAC,MAAM,CAAC,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAC3F,CAAC;QACD,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,GAAG,GAAG,oBAAoB,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC7F,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,qBAAqB,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,MAAM,CAAC,IAAyB;QACpC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,cAAc,CAClB,IAAmB,EACnB,QAAgB,EAChB,OAAiE;QAEjE,MAAM,QAAQ,GAAG,IAAI,mBAAQ,EAAE,CAAC;QAEhC,6DAA6D;QAC7D,IAAI,IAAI,YAAY,MAAM,EAAE,CAAC;YAC3B,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,8CAA8C;YAC9C,MAAM,WAAW,GAAG,MAAO,IAAa,CAAC,WAAW,EAAE,CAAC;YACvD,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,aAAa;QACb,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAElC,sBAAsB;QACtB,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;YACtB,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;YACtB,qEAAqE;YACrE,MAAM,aAAa,GAAG,MAAM,CAAC,WAAW,CACtC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CACpE,CAAC;YACF,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1C,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QACD,IAAI,OAAO,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;YACrC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,OAAO,EAAE,oBAAoB,EAAE,CAAC;YAClC,QAAQ,CAAC,MAAM,CAAC,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACxF,CAAC;QACD,IAAI,OAAO,EAAE,eAAe,EAAE,CAAC;YAC7B,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;QAC9E,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAE;YAC7D,OAAO,EAAE;gBACP,GAAG,QAAQ,CAAC,UAAU,EAAE;aACzB;SACF,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,IAAyB;QAChD,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,qBAAqB,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IACpE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,qBAAqB,EAAE,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,IAAyB;QACpC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,0BAA0B,EAAE,IAAI,CAAC,CAAC;IACpE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,MAAc;QAChC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,2BAA2B,MAAM,EAAE,CAAC,CAAC;IACtE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,WAAmB;QACjC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,qBAAqB,WAAW,SAAS,CAAC,CAAC;IAC5E,CAAC;CACF;AAxJD,0CAwJC"}