@chanl/sdk 2.0.4 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -0
- package/dist/client.d.ts +12 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +51 -5
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -1
- package/dist/index.js.map +1 -1
- package/dist/modules/agents.d.ts +100 -1
- package/dist/modules/agents.d.ts.map +1 -1
- package/dist/modules/agents.js +107 -0
- package/dist/modules/agents.js.map +1 -1
- package/dist/modules/alerts.d.ts +8 -8
- package/dist/modules/alerts.d.ts.map +1 -1
- package/dist/modules/alerts.js +9 -14
- package/dist/modules/alerts.js.map +1 -1
- package/dist/modules/audio.d.ts +10 -0
- package/dist/modules/audio.d.ts.map +1 -1
- package/dist/modules/audio.js +3 -0
- package/dist/modules/audio.js.map +1 -1
- package/dist/modules/calls.d.ts +13 -5
- package/dist/modules/calls.d.ts.map +1 -1
- package/dist/modules/calls.js +8 -5
- package/dist/modules/calls.js.map +1 -1
- package/dist/modules/chat.d.ts +5 -6
- package/dist/modules/chat.d.ts.map +1 -1
- package/dist/modules/chat.js +5 -6
- package/dist/modules/chat.js.map +1 -1
- package/dist/modules/conversations.d.ts +92 -0
- package/dist/modules/conversations.d.ts.map +1 -0
- package/dist/modules/conversations.js +57 -0
- package/dist/modules/conversations.js.map +1 -0
- package/dist/modules/customers.d.ts +121 -0
- package/dist/modules/customers.d.ts.map +1 -0
- package/dist/modules/customers.js +74 -0
- package/dist/modules/customers.js.map +1 -0
- package/dist/modules/memory.d.ts +64 -3
- package/dist/modules/memory.d.ts.map +1 -1
- package/dist/modules/memory.js +77 -2
- package/dist/modules/memory.js.map +1 -1
- package/dist/modules/prompts.d.ts +30 -13
- package/dist/modules/prompts.d.ts.map +1 -1
- package/dist/modules/prompts.js +14 -14
- package/dist/modules/prompts.js.map +1 -1
- package/dist/modules/realtime.d.ts +78 -0
- package/dist/modules/realtime.d.ts.map +1 -0
- package/dist/modules/realtime.js +48 -0
- package/dist/modules/realtime.js.map +1 -0
- package/dist/modules/scenarios.d.ts +155 -0
- package/dist/modules/scenarios.d.ts.map +1 -1
- package/dist/modules/scenarios.js +166 -1
- package/dist/modules/scenarios.js.map +1 -1
- package/dist/modules/scorecard.d.ts +26 -10
- package/dist/modules/scorecard.d.ts.map +1 -1
- package/dist/modules/scorecard.js +7 -9
- package/dist/modules/scorecard.js.map +1 -1
- package/dist/modules/transcript.d.ts +26 -28
- package/dist/modules/transcript.d.ts.map +1 -1
- package/dist/modules/transcript.js +14 -42
- package/dist/modules/transcript.js.map +1 -1
- package/dist/modules/whatsapp.d.ts +147 -0
- package/dist/modules/whatsapp.d.ts.map +1 -0
- package/dist/modules/whatsapp.js +86 -0
- package/dist/modules/whatsapp.js.map +1 -0
- package/dist/types/config.d.ts +12 -1
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/memory.d.ts +135 -2
- package/dist/types/memory.d.ts.map +1 -1
- package/dist/types/memory.js +0 -1
- package/dist/types/memory.js.map +1 -1
- package/dist/types/tool-calls.d.ts +0 -1
- package/dist/types/tool-calls.d.ts.map +1 -1
- package/dist/types/tool-calls.js +0 -1
- package/dist/types/tool-calls.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CustomersModule - SDK module for the customer record
|
|
3
|
+
*
|
|
4
|
+
* The customer record is the platform's primary surface: every conversation
|
|
5
|
+
* (voice, chat, WhatsApp) attaches to a customer. This module exposes the
|
|
6
|
+
* public CRUD + resolve surface of platform-server's customers controller.
|
|
7
|
+
*
|
|
8
|
+
* Not exposed here (deliberately):
|
|
9
|
+
* - internal/* routes (service-to-service only)
|
|
10
|
+
* - /customers/find-or-create (deprecated — use resolve())
|
|
11
|
+
*/
|
|
12
|
+
import { ChanlSDK } from '../client';
|
|
13
|
+
import { ApiResponse } from '../types/config';
|
|
14
|
+
export interface Customer {
|
|
15
|
+
id: string;
|
|
16
|
+
workspaceId: string;
|
|
17
|
+
firstName?: string;
|
|
18
|
+
lastName?: string;
|
|
19
|
+
/** Friendly display name resolved server-side when no real name is set. */
|
|
20
|
+
displayName?: string;
|
|
21
|
+
email?: string;
|
|
22
|
+
/** E.164, e.g. +14155551234 */
|
|
23
|
+
phoneNumber?: string;
|
|
24
|
+
/** Route this customer to a specific agent instead of the channel default. */
|
|
25
|
+
agentId?: string;
|
|
26
|
+
contactType?: 'lead' | 'customer' | 'teammate';
|
|
27
|
+
language?: string;
|
|
28
|
+
avatar?: string;
|
|
29
|
+
jobTitle?: string;
|
|
30
|
+
ownerId?: string;
|
|
31
|
+
companyIds?: string[];
|
|
32
|
+
primaryCompanyId?: string;
|
|
33
|
+
customAttributes?: Record<string, unknown>;
|
|
34
|
+
signedUpAt?: string;
|
|
35
|
+
lastSeenAt?: string;
|
|
36
|
+
lastContactedAt?: string;
|
|
37
|
+
unsubscribedFromEmails?: boolean;
|
|
38
|
+
createdAt: string;
|
|
39
|
+
updatedAt: string;
|
|
40
|
+
}
|
|
41
|
+
export interface CustomerFilters {
|
|
42
|
+
page?: number;
|
|
43
|
+
limit?: number;
|
|
44
|
+
/** Case-insensitive substring match over firstName, lastName, phoneNumber, email. */
|
|
45
|
+
search?: string;
|
|
46
|
+
email?: string;
|
|
47
|
+
phoneNumber?: string;
|
|
48
|
+
contactType?: 'lead' | 'customer' | 'teammate';
|
|
49
|
+
verified?: boolean;
|
|
50
|
+
}
|
|
51
|
+
/** List responses use the platform's paginated shape: { data: [...], pagination }. */
|
|
52
|
+
export interface CustomerListResponse {
|
|
53
|
+
data: Customer[];
|
|
54
|
+
pagination?: {
|
|
55
|
+
total: number;
|
|
56
|
+
page: number;
|
|
57
|
+
limit: number;
|
|
58
|
+
totalPages: number;
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
export interface CreateCustomerData {
|
|
62
|
+
firstName?: string;
|
|
63
|
+
lastName?: string;
|
|
64
|
+
email?: string;
|
|
65
|
+
/** E.164, e.g. +14155551234 */
|
|
66
|
+
phoneNumber?: string;
|
|
67
|
+
agentId?: string;
|
|
68
|
+
customAttributes?: Record<string, unknown>;
|
|
69
|
+
language?: string;
|
|
70
|
+
avatar?: string;
|
|
71
|
+
jobTitle?: string;
|
|
72
|
+
ownerId?: string;
|
|
73
|
+
companyIds?: string[];
|
|
74
|
+
primaryCompanyId?: string;
|
|
75
|
+
}
|
|
76
|
+
export type UpdateCustomerData = CreateCustomerData;
|
|
77
|
+
/** Attribute values are sourced — the record tracks WHERE each fact came from. */
|
|
78
|
+
export interface CustomerAttributeValue {
|
|
79
|
+
value: unknown;
|
|
80
|
+
source: 'extraction' | 'manual';
|
|
81
|
+
interactionId?: string;
|
|
82
|
+
confidence?: number;
|
|
83
|
+
}
|
|
84
|
+
export interface ResolveCustomerData {
|
|
85
|
+
/** E.164 phone — note the field is `phone` on this endpoint, not `phoneNumber`. */
|
|
86
|
+
phone?: string;
|
|
87
|
+
email?: string;
|
|
88
|
+
firstName?: string;
|
|
89
|
+
lastName?: string;
|
|
90
|
+
source?: string;
|
|
91
|
+
metadata?: Record<string, unknown>;
|
|
92
|
+
}
|
|
93
|
+
export interface ResolveCustomerResponse {
|
|
94
|
+
customer: Customer;
|
|
95
|
+
created: boolean;
|
|
96
|
+
}
|
|
97
|
+
export declare class CustomersModule {
|
|
98
|
+
private sdk;
|
|
99
|
+
constructor(sdk: ChanlSDK);
|
|
100
|
+
/** List customers in the workspace (paginated, optional free-text search). */
|
|
101
|
+
list(filters?: CustomerFilters): Promise<ApiResponse<CustomerListResponse>>;
|
|
102
|
+
/** Get one customer by id. */
|
|
103
|
+
get(id: string): Promise<ApiResponse<Customer>>;
|
|
104
|
+
/** Create a customer. 409s if the phone number already exists in the workspace. */
|
|
105
|
+
create(data: CreateCustomerData): Promise<ApiResponse<Customer>>;
|
|
106
|
+
/** Update a customer (full-intent update — the endpoint is PUT, not PATCH). */
|
|
107
|
+
update(id: string, data: UpdateCustomerData): Promise<ApiResponse<Customer>>;
|
|
108
|
+
/** Delete a customer. */
|
|
109
|
+
delete(id: string): Promise<ApiResponse<void>>;
|
|
110
|
+
/**
|
|
111
|
+
* Merge sourced attributes onto the record. Each value carries its
|
|
112
|
+
* provenance (manual vs extraction, optionally which interaction).
|
|
113
|
+
*/
|
|
114
|
+
updateAttributes(id: string, attributes: Record<string, CustomerAttributeValue>, language?: string): Promise<ApiResponse<Customer>>;
|
|
115
|
+
/**
|
|
116
|
+
* Resolve by phone/email — returns the existing customer or creates one.
|
|
117
|
+
* Race-safe server-side; the primitive behind inbound-channel identity.
|
|
118
|
+
*/
|
|
119
|
+
resolve(data: ResolveCustomerData): Promise<ApiResponse<ResolveCustomerResponse>>;
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=customers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"customers.d.ts","sourceRoot":"","sources":["../../src/modules/customers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* CustomersModule - SDK module for the customer record
|
|
4
|
+
*
|
|
5
|
+
* The customer record is the platform's primary surface: every conversation
|
|
6
|
+
* (voice, chat, WhatsApp) attaches to a customer. This module exposes the
|
|
7
|
+
* public CRUD + resolve surface of platform-server's customers controller.
|
|
8
|
+
*
|
|
9
|
+
* Not exposed here (deliberately):
|
|
10
|
+
* - internal/* routes (service-to-service only)
|
|
11
|
+
* - /customers/find-or-create (deprecated — use resolve())
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.CustomersModule = void 0;
|
|
15
|
+
class CustomersModule {
|
|
16
|
+
constructor(sdk) {
|
|
17
|
+
this.sdk = sdk;
|
|
18
|
+
}
|
|
19
|
+
/** List customers in the workspace (paginated, optional free-text search). */
|
|
20
|
+
async list(filters) {
|
|
21
|
+
const params = new URLSearchParams();
|
|
22
|
+
if (filters?.page !== undefined)
|
|
23
|
+
params.append('page', String(filters.page));
|
|
24
|
+
if (filters?.limit !== undefined)
|
|
25
|
+
params.append('limit', String(filters.limit));
|
|
26
|
+
if (filters?.search)
|
|
27
|
+
params.append('search', filters.search);
|
|
28
|
+
if (filters?.email)
|
|
29
|
+
params.append('email', filters.email);
|
|
30
|
+
if (filters?.phoneNumber)
|
|
31
|
+
params.append('phoneNumber', filters.phoneNumber);
|
|
32
|
+
if (filters?.contactType)
|
|
33
|
+
params.append('contactType', filters.contactType);
|
|
34
|
+
if (filters?.verified !== undefined)
|
|
35
|
+
params.append('verified', String(filters.verified));
|
|
36
|
+
const qs = params.toString();
|
|
37
|
+
return this.sdk.request('GET', `/api/v1/customers${qs ? `?${qs}` : ''}`);
|
|
38
|
+
}
|
|
39
|
+
/** Get one customer by id. */
|
|
40
|
+
async get(id) {
|
|
41
|
+
return this.sdk.request('GET', `/api/v1/customers/${id}`);
|
|
42
|
+
}
|
|
43
|
+
/** Create a customer. 409s if the phone number already exists in the workspace. */
|
|
44
|
+
async create(data) {
|
|
45
|
+
return this.sdk.request('POST', '/api/v1/customers', data);
|
|
46
|
+
}
|
|
47
|
+
/** Update a customer (full-intent update — the endpoint is PUT, not PATCH). */
|
|
48
|
+
async update(id, data) {
|
|
49
|
+
return this.sdk.request('PUT', `/api/v1/customers/${id}`, data);
|
|
50
|
+
}
|
|
51
|
+
/** Delete a customer. */
|
|
52
|
+
async delete(id) {
|
|
53
|
+
return this.sdk.request('DELETE', `/api/v1/customers/${id}`);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Merge sourced attributes onto the record. Each value carries its
|
|
57
|
+
* provenance (manual vs extraction, optionally which interaction).
|
|
58
|
+
*/
|
|
59
|
+
async updateAttributes(id, attributes, language) {
|
|
60
|
+
return this.sdk.request('PATCH', `/api/v1/customers/${id}/attributes`, {
|
|
61
|
+
attributes,
|
|
62
|
+
...(language ? { language } : {}),
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Resolve by phone/email — returns the existing customer or creates one.
|
|
67
|
+
* Race-safe server-side; the primitive behind inbound-channel identity.
|
|
68
|
+
*/
|
|
69
|
+
async resolve(data) {
|
|
70
|
+
return this.sdk.request('POST', '/api/v1/customers/resolve', data);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
exports.CustomersModule = CustomersModule;
|
|
74
|
+
//# sourceMappingURL=customers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"customers.js","sourceRoot":"","sources":["../../src/modules/customers.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAiGH,MAAa,eAAe;IAC1B,YAAoB,GAAa;QAAb,QAAG,GAAH,GAAG,CAAU;IAAG,CAAC;IAErC,8EAA8E;IAC9E,KAAK,CAAC,IAAI,CAAC,OAAyB;QAClC,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,OAAO,EAAE,IAAI,KAAK,SAAS;YAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7E,IAAI,OAAO,EAAE,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAChF,IAAI,OAAO,EAAE,MAAM;YAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,OAAO,EAAE,KAAK;YAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,OAAO,EAAE,WAAW;YAAE,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAC5E,IAAI,OAAO,EAAE,WAAW;YAAE,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAC5E,IAAI,OAAO,EAAE,QAAQ,KAAK,SAAS;YAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzF,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,8BAA8B;IAC9B,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,qBAAqB,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,mFAAmF;IACnF,KAAK,CAAC,MAAM,CAAC,IAAwB;QACnC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,+EAA+E;IAC/E,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,IAAwB;QAC/C,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,qBAAqB,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,yBAAyB;IACzB,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,qBAAqB,EAAE,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,gBAAgB,CACpB,EAAU,EACV,UAAkD,EAClD,QAAiB;QAEjB,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE;YACrE,UAAU;YACV,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO,CAAC,IAAyB;QACrC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,2BAA2B,EAAE,IAAI,CAAC,CAAC;IACrE,CAAC;CACF;AA3DD,0CA2DC"}
|
package/dist/modules/memory.d.ts
CHANGED
|
@@ -2,12 +2,11 @@
|
|
|
2
2
|
* MemoryModule - SDK module for agent memory management
|
|
3
3
|
*
|
|
4
4
|
* Provides CRUD operations for memories, semantic search,
|
|
5
|
-
* and bulk deletion.
|
|
6
|
-
* is passed via the x-workspace-id header.
|
|
5
|
+
* and bulk deletion. The workspace is inferred from the API key.
|
|
7
6
|
*/
|
|
8
7
|
import { ChanlSDK } from '../client';
|
|
9
8
|
import { ApiResponse } from '../types/config';
|
|
10
|
-
import type { Memory, CreateMemoryInput, UpdateMemoryInput, SearchMemoryInput, ExtractMemoryInput, BulkDeleteMemoryInput, MemoryFilters, MemoryListResponse, MemorySearchResponse, MemoryExtractResponse, MemoryDeleteResponse, MemoryBulkDeleteResponse } from '../types/memory';
|
|
9
|
+
import type { Memory, CreateMemoryInput, UpdateMemoryInput, SearchMemoryInput, GlobalSearchMemoryInput, ExtractMemoryInput, BulkDeleteMemoryInput, CompactMemoryInput, MemoryContextInput, MemoryFilters, MemoryStatsFilters, MemoryListResponse, MemorySearchResponse, MemoryExtractResponse, MemoryCompactResponse, MemoryContextResponse, MemoryStats, MemoryDeleteResponse, MemoryBulkDeleteResponse } from '../types/memory';
|
|
11
10
|
export declare class MemoryModule {
|
|
12
11
|
private sdk;
|
|
13
12
|
constructor(sdk: ChanlSDK);
|
|
@@ -118,6 +117,68 @@ export declare class MemoryModule {
|
|
|
118
117
|
* ```
|
|
119
118
|
*/
|
|
120
119
|
search(input: SearchMemoryInput): Promise<ApiResponse<MemorySearchResponse>>;
|
|
120
|
+
/**
|
|
121
|
+
* Search ALL memories in the workspace (no entity scope required).
|
|
122
|
+
*
|
|
123
|
+
* Unlike {@link search}, this does not require entityType/entityId — use it
|
|
124
|
+
* for cross-entity discovery (e.g. "anything about billing in this workspace").
|
|
125
|
+
*
|
|
126
|
+
* @example
|
|
127
|
+
* ```typescript
|
|
128
|
+
* const { data } = await sdk.memory.searchGlobal({
|
|
129
|
+
* query: 'billing preferences',
|
|
130
|
+
* entityType: 'customer',
|
|
131
|
+
* limit: 20,
|
|
132
|
+
* });
|
|
133
|
+
* ```
|
|
134
|
+
*/
|
|
135
|
+
searchGlobal(input: GlobalSearchMemoryInput): Promise<ApiResponse<MemorySearchResponse>>;
|
|
136
|
+
/**
|
|
137
|
+
* Aggregate memory statistics, optionally scoped to an entity.
|
|
138
|
+
*
|
|
139
|
+
* Totals, counts by type and source, active/inactive/expired, average
|
|
140
|
+
* confidence, and the top-accessed memories — in a single server-side
|
|
141
|
+
* aggregation.
|
|
142
|
+
*
|
|
143
|
+
* @example
|
|
144
|
+
* ```typescript
|
|
145
|
+
* const { data } = await sdk.memory.stats({ entityType: 'customer', entityId: 'cust_456' });
|
|
146
|
+
* console.log(`${data.total} memories, avg confidence ${data.avgConfidence}`);
|
|
147
|
+
* ```
|
|
148
|
+
*/
|
|
149
|
+
stats(filters?: MemoryStatsFilters): Promise<ApiResponse<MemoryStats>>;
|
|
150
|
+
/**
|
|
151
|
+
* Compact a conversation into memory — summarize and/or extract facts via LLM.
|
|
152
|
+
*
|
|
153
|
+
* When `save` is true (default), results persist as memories with
|
|
154
|
+
* source='compaction'.
|
|
155
|
+
*
|
|
156
|
+
* @example
|
|
157
|
+
* ```typescript
|
|
158
|
+
* const { data } = await sdk.memory.compact({
|
|
159
|
+
* entityType: 'customer',
|
|
160
|
+
* entityId: 'cust_456',
|
|
161
|
+
* messages: [
|
|
162
|
+
* { role: 'user', content: 'I moved to Portland and prefer email.' },
|
|
163
|
+
* { role: 'assistant', content: 'Noted — Portland, email preferred.' },
|
|
164
|
+
* ],
|
|
165
|
+
* strategy: 'both',
|
|
166
|
+
* });
|
|
167
|
+
* console.log(data.summary, data.facts);
|
|
168
|
+
* ```
|
|
169
|
+
*/
|
|
170
|
+
compact(input: CompactMemoryInput): Promise<ApiResponse<MemoryCompactResponse>>;
|
|
171
|
+
/**
|
|
172
|
+
* Build a pre-formatted context string for a customer, ready to inject into
|
|
173
|
+
* an LLM system prompt (known facts + recent session summaries, token-budgeted).
|
|
174
|
+
*
|
|
175
|
+
* @example
|
|
176
|
+
* ```typescript
|
|
177
|
+
* const { data } = await sdk.memory.getContext({ customerId: 'cust_456', maxTokens: 1500 });
|
|
178
|
+
* systemPrompt += `\n\n${data.context}`;
|
|
179
|
+
* ```
|
|
180
|
+
*/
|
|
181
|
+
getContext(input: MemoryContextInput): Promise<ApiResponse<MemoryContextResponse>>;
|
|
121
182
|
/**
|
|
122
183
|
* Extract structured facts from text using LLM
|
|
123
184
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/modules/memory.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/modules/memory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EACV,MAAM,EACN,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,WAAW,EACX,oBAAoB,EACpB,wBAAwB,EACzB,MAAM,iBAAiB,CAAC;AAMzB,qBAAa,YAAY;IACX,OAAO,CAAC,GAAG;gBAAH,GAAG,EAAE,QAAQ;IAEjC;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,IAAI,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IA8B7E;;;;;;;;;;;;OAYG;IACG,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAInD;;;;;;;;;;;;;;;;OAgBG;IACG,MAAM,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAIpE;;;;;;;;;;;;;;;;OAgBG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAIhF;;;;;;;;;;;;OAYG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;IAIpE;;;;;;;;;;;;;;;;;;;OAmBG;IACG,MAAM,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;IAIlF;;;;;;;;;;;;;;OAcG;IACG,YAAY,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;IAI9F;;;;;;;;;;;;OAYG;IACG,KAAK,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAQ5E;;;;;;;;;;;;;;;;;;;OAmBG;IACG,OAAO,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;IAIrF;;;;;;;;;OASG;IACG,UAAU,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;IAIxF;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,OAAO,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;IAIrF;;;;;;;;;;;;;;;;OAgBG;IACG,UAAU,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;CAG/F"}
|
package/dist/modules/memory.js
CHANGED
|
@@ -3,8 +3,7 @@
|
|
|
3
3
|
* MemoryModule - SDK module for agent memory management
|
|
4
4
|
*
|
|
5
5
|
* Provides CRUD operations for memories, semantic search,
|
|
6
|
-
* and bulk deletion.
|
|
7
|
-
* is passed via the x-workspace-id header.
|
|
6
|
+
* and bulk deletion. The workspace is inferred from the API key.
|
|
8
7
|
*/
|
|
9
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
9
|
exports.MemoryModule = void 0;
|
|
@@ -158,6 +157,82 @@ class MemoryModule {
|
|
|
158
157
|
async search(input) {
|
|
159
158
|
return this.sdk.request('POST', '/api/v1/memory/search', input);
|
|
160
159
|
}
|
|
160
|
+
/**
|
|
161
|
+
* Search ALL memories in the workspace (no entity scope required).
|
|
162
|
+
*
|
|
163
|
+
* Unlike {@link search}, this does not require entityType/entityId — use it
|
|
164
|
+
* for cross-entity discovery (e.g. "anything about billing in this workspace").
|
|
165
|
+
*
|
|
166
|
+
* @example
|
|
167
|
+
* ```typescript
|
|
168
|
+
* const { data } = await sdk.memory.searchGlobal({
|
|
169
|
+
* query: 'billing preferences',
|
|
170
|
+
* entityType: 'customer',
|
|
171
|
+
* limit: 20,
|
|
172
|
+
* });
|
|
173
|
+
* ```
|
|
174
|
+
*/
|
|
175
|
+
async searchGlobal(input) {
|
|
176
|
+
return this.sdk.request('POST', '/api/v1/memory/search-global', input);
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Aggregate memory statistics, optionally scoped to an entity.
|
|
180
|
+
*
|
|
181
|
+
* Totals, counts by type and source, active/inactive/expired, average
|
|
182
|
+
* confidence, and the top-accessed memories — in a single server-side
|
|
183
|
+
* aggregation.
|
|
184
|
+
*
|
|
185
|
+
* @example
|
|
186
|
+
* ```typescript
|
|
187
|
+
* const { data } = await sdk.memory.stats({ entityType: 'customer', entityId: 'cust_456' });
|
|
188
|
+
* console.log(`${data.total} memories, avg confidence ${data.avgConfidence}`);
|
|
189
|
+
* ```
|
|
190
|
+
*/
|
|
191
|
+
async stats(filters) {
|
|
192
|
+
const params = new URLSearchParams();
|
|
193
|
+
if (filters?.entityType)
|
|
194
|
+
params.append('entityType', filters.entityType);
|
|
195
|
+
if (filters?.entityId)
|
|
196
|
+
params.append('entityId', filters.entityId);
|
|
197
|
+
const query = params.toString();
|
|
198
|
+
return this.sdk.request('GET', `/api/v1/memory/stats${query ? `?${query}` : ''}`);
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Compact a conversation into memory — summarize and/or extract facts via LLM.
|
|
202
|
+
*
|
|
203
|
+
* When `save` is true (default), results persist as memories with
|
|
204
|
+
* source='compaction'.
|
|
205
|
+
*
|
|
206
|
+
* @example
|
|
207
|
+
* ```typescript
|
|
208
|
+
* const { data } = await sdk.memory.compact({
|
|
209
|
+
* entityType: 'customer',
|
|
210
|
+
* entityId: 'cust_456',
|
|
211
|
+
* messages: [
|
|
212
|
+
* { role: 'user', content: 'I moved to Portland and prefer email.' },
|
|
213
|
+
* { role: 'assistant', content: 'Noted — Portland, email preferred.' },
|
|
214
|
+
* ],
|
|
215
|
+
* strategy: 'both',
|
|
216
|
+
* });
|
|
217
|
+
* console.log(data.summary, data.facts);
|
|
218
|
+
* ```
|
|
219
|
+
*/
|
|
220
|
+
async compact(input) {
|
|
221
|
+
return this.sdk.request('POST', '/api/v1/memory/compact', input);
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Build a pre-formatted context string for a customer, ready to inject into
|
|
225
|
+
* an LLM system prompt (known facts + recent session summaries, token-budgeted).
|
|
226
|
+
*
|
|
227
|
+
* @example
|
|
228
|
+
* ```typescript
|
|
229
|
+
* const { data } = await sdk.memory.getContext({ customerId: 'cust_456', maxTokens: 1500 });
|
|
230
|
+
* systemPrompt += `\n\n${data.context}`;
|
|
231
|
+
* ```
|
|
232
|
+
*/
|
|
233
|
+
async getContext(input) {
|
|
234
|
+
return this.sdk.request('POST', '/api/v1/memory/context', input);
|
|
235
|
+
}
|
|
161
236
|
/**
|
|
162
237
|
* Extract structured facts from text using LLM
|
|
163
238
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/modules/memory.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/modules/memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { ChanlSDK } from "../client";
|
|
2
2
|
import { ApiResponse } from "../types/config";
|
|
3
3
|
export interface PromptVariable {
|
|
4
|
-
|
|
4
|
+
/** Variable key used in content as `{{key}}` */
|
|
5
|
+
key: string;
|
|
5
6
|
description?: string;
|
|
6
|
-
type: 'string' | 'number' | 'boolean' | 'array' | 'object';
|
|
7
7
|
required: boolean;
|
|
8
|
-
|
|
8
|
+
defaultValue?: string;
|
|
9
9
|
}
|
|
10
10
|
export interface Prompt {
|
|
11
11
|
id: string;
|
|
@@ -32,7 +32,7 @@ export interface PromptVersion {
|
|
|
32
32
|
id: string;
|
|
33
33
|
_id?: string;
|
|
34
34
|
promptId: string;
|
|
35
|
-
version:
|
|
35
|
+
version: number;
|
|
36
36
|
versionName?: string;
|
|
37
37
|
content: string;
|
|
38
38
|
variables?: PromptVariable[];
|
|
@@ -81,6 +81,20 @@ export interface PromptFilters {
|
|
|
81
81
|
page?: number;
|
|
82
82
|
limit?: number;
|
|
83
83
|
}
|
|
84
|
+
export interface RevertPromptData {
|
|
85
|
+
version: number;
|
|
86
|
+
}
|
|
87
|
+
export interface ResolvePromptData {
|
|
88
|
+
variables?: Record<string, string>;
|
|
89
|
+
}
|
|
90
|
+
export interface ResolvePromptResponse {
|
|
91
|
+
content: string;
|
|
92
|
+
unresolvedVariables?: string[];
|
|
93
|
+
}
|
|
94
|
+
export interface ApplyPromptData {
|
|
95
|
+
agentId: string;
|
|
96
|
+
syncToPlatform?: boolean;
|
|
97
|
+
}
|
|
84
98
|
export declare class PromptsModule {
|
|
85
99
|
private sdk;
|
|
86
100
|
constructor(sdk: ChanlSDK);
|
|
@@ -97,7 +111,7 @@ export declare class PromptsModule {
|
|
|
97
111
|
*/
|
|
98
112
|
create(data: CreatePromptData): Promise<ApiResponse<Prompt>>;
|
|
99
113
|
/**
|
|
100
|
-
* Update an existing prompt (
|
|
114
|
+
* Update an existing prompt (creates a new version when content changes)
|
|
101
115
|
*/
|
|
102
116
|
update(id: string, data: UpdatePromptData): Promise<ApiResponse<Prompt>>;
|
|
103
117
|
/**
|
|
@@ -108,21 +122,24 @@ export declare class PromptsModule {
|
|
|
108
122
|
* Get version history for a prompt
|
|
109
123
|
*/
|
|
110
124
|
getVersions(promptId: string): Promise<ApiResponse<PromptVersion[]>>;
|
|
111
|
-
/**
|
|
112
|
-
* Get a specific version of a prompt
|
|
113
|
-
*/
|
|
114
|
-
getVersion(promptId: string, versionId: string): Promise<ApiResponse<PromptVersion>>;
|
|
115
125
|
/**
|
|
116
126
|
* Create a new version explicitly (save as new version)
|
|
117
127
|
*/
|
|
118
128
|
createVersion(promptId: string, data: CreatePromptVersionData): Promise<ApiResponse<PromptVersion>>;
|
|
119
129
|
/**
|
|
120
|
-
*
|
|
130
|
+
* Revert a prompt to a previous version number
|
|
131
|
+
*/
|
|
132
|
+
revert(promptId: string, data: RevertPromptData): Promise<ApiResponse<Prompt>>;
|
|
133
|
+
/**
|
|
134
|
+
* Resolve Liquid template variables in prompt content
|
|
121
135
|
*/
|
|
122
|
-
|
|
136
|
+
resolve(promptId: string, data?: ResolvePromptData): Promise<ApiResponse<ResolvePromptResponse>>;
|
|
123
137
|
/**
|
|
124
|
-
*
|
|
138
|
+
* Apply a prompt to an agent
|
|
125
139
|
*/
|
|
126
|
-
|
|
140
|
+
apply(promptId: string, data: ApplyPromptData): Promise<ApiResponse<{
|
|
141
|
+
success: boolean;
|
|
142
|
+
message: string;
|
|
143
|
+
}>>;
|
|
127
144
|
}
|
|
128
145
|
//# sourceMappingURL=prompts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/modules/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAM9C,MAAM,WAAW,cAAc;IAC7B,
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/modules/prompts.ts"],"names":[],"mappings":"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"}
|
package/dist/modules/prompts.js
CHANGED
|
@@ -47,10 +47,10 @@ class PromptsModule {
|
|
|
47
47
|
return this.sdk.request("POST", "/api/v1/prompts", data);
|
|
48
48
|
}
|
|
49
49
|
/**
|
|
50
|
-
* Update an existing prompt (
|
|
50
|
+
* Update an existing prompt (creates a new version when content changes)
|
|
51
51
|
*/
|
|
52
52
|
async update(id, data) {
|
|
53
|
-
return this.sdk.request("
|
|
53
|
+
return this.sdk.request("PATCH", `/api/v1/prompts/${id}`, data);
|
|
54
54
|
}
|
|
55
55
|
/**
|
|
56
56
|
* Delete a prompt
|
|
@@ -64,12 +64,6 @@ class PromptsModule {
|
|
|
64
64
|
async getVersions(promptId) {
|
|
65
65
|
return this.sdk.request("GET", `/api/v1/prompts/${promptId}/versions`);
|
|
66
66
|
}
|
|
67
|
-
/**
|
|
68
|
-
* Get a specific version of a prompt
|
|
69
|
-
*/
|
|
70
|
-
async getVersion(promptId, versionId) {
|
|
71
|
-
return this.sdk.request("GET", `/api/v1/prompts/${promptId}/versions/${versionId}`);
|
|
72
|
-
}
|
|
73
67
|
/**
|
|
74
68
|
* Create a new version explicitly (save as new version)
|
|
75
69
|
*/
|
|
@@ -77,16 +71,22 @@ class PromptsModule {
|
|
|
77
71
|
return this.sdk.request("POST", `/api/v1/prompts/${promptId}/versions`, data);
|
|
78
72
|
}
|
|
79
73
|
/**
|
|
80
|
-
*
|
|
74
|
+
* Revert a prompt to a previous version number
|
|
75
|
+
*/
|
|
76
|
+
async revert(promptId, data) {
|
|
77
|
+
return this.sdk.request("POST", `/api/v1/prompts/${promptId}/revert`, data);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Resolve Liquid template variables in prompt content
|
|
81
81
|
*/
|
|
82
|
-
async
|
|
83
|
-
return this.sdk.request("POST", `/api/v1/prompts/${promptId}/
|
|
82
|
+
async resolve(promptId, data) {
|
|
83
|
+
return this.sdk.request("POST", `/api/v1/prompts/${promptId}/resolve`, data ?? {});
|
|
84
84
|
}
|
|
85
85
|
/**
|
|
86
|
-
*
|
|
86
|
+
* Apply a prompt to an agent
|
|
87
87
|
*/
|
|
88
|
-
async
|
|
89
|
-
return this.sdk.request("
|
|
88
|
+
async apply(promptId, data) {
|
|
89
|
+
return this.sdk.request("POST", `/api/v1/prompts/${promptId}/apply`, data);
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
92
|
exports.PromptsModule = PromptsModule;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/modules/prompts.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/modules/prompts.ts"],"names":[],"mappings":"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"}
|