@personize/sdk 0.4.0 → 0.5.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 +28 -28
- package/dist/client.d.ts +16 -16
- package/dist/client.js +18 -18
- package/dist/types.d.ts +110 -28
- package/dist/types.js +19 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Personize SDK
|
|
2
2
|
|
|
3
|
-
The official Node.js/TypeScript SDK for the Personize Product API. Authenticate with your secret key to access
|
|
3
|
+
The official Node.js/TypeScript SDK for the Personize Product API. Authenticate with your secret key to access guidelines, smart guidelines, RAG memory, prompt execution, agents, and evaluation tools.
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
@@ -36,7 +36,7 @@ console.log(me.data.plan.limits);
|
|
|
36
36
|
| GET | `/api/v1/test` | `client.test()` |
|
|
37
37
|
| GET | `/api/v1/me` | `client.me()` |
|
|
38
38
|
| **AI** | | |
|
|
39
|
-
| POST | `/api/v1/ai/smart-
|
|
39
|
+
| POST | `/api/v1/ai/smart-guidelines` | `client.ai.smartGuidelines(opts)` |
|
|
40
40
|
| POST | `/api/v1/prompt` | `client.ai.prompt(opts)` |
|
|
41
41
|
| **Memory** | | |
|
|
42
42
|
| POST | `/api/v1/memorize` | `client.memory.memorize(opts)` |
|
|
@@ -47,14 +47,14 @@ console.log(me.data.plan.limits);
|
|
|
47
47
|
| POST | `/api/v1/upsert` | `client.memory.upsertBatch(opts)` |
|
|
48
48
|
| POST | `/api/v1/batch-memorize` | `client.memory.memorizeBatch(opts)` |
|
|
49
49
|
| POST | `/api/v1/smart-memory-digest` | `client.memory.smartDigest(opts)` |
|
|
50
|
-
| **
|
|
51
|
-
| GET | `/api/v1/
|
|
52
|
-
| POST | `/api/v1/
|
|
53
|
-
| GET | `/api/v1/
|
|
54
|
-
| GET | `/api/v1/
|
|
55
|
-
| PATCH | `/api/v1/
|
|
56
|
-
| DELETE | `/api/v1/
|
|
57
|
-
| GET | `/api/v1/actions/:id/history` | `client.
|
|
50
|
+
| **Guidelines** | | |
|
|
51
|
+
| GET | `/api/v1/guidelines` | `client.guidelines.list()` |
|
|
52
|
+
| POST | `/api/v1/guidelines` | `client.guidelines.create(payload)` |
|
|
53
|
+
| GET | `/api/v1/guidelines/:id/structure` | `client.guidelines.getStructure(id)` |
|
|
54
|
+
| GET | `/api/v1/guidelines/:id/section` | `client.guidelines.getSection(id, opts)` |
|
|
55
|
+
| PATCH | `/api/v1/guidelines/:id` | `client.guidelines.update(id, payload)` |
|
|
56
|
+
| DELETE | `/api/v1/guidelines/:id` | `client.guidelines.delete(id)` |
|
|
57
|
+
| GET | `/api/v1/actions/:id/history` | `client.guidelines.history(id)` |
|
|
58
58
|
| **Collections** | | |
|
|
59
59
|
| GET | `/api/v1/collections` | `client.collections.list()` |
|
|
60
60
|
| POST | `/api/v1/collections` | `client.collections.create(payload)` |
|
|
@@ -72,35 +72,35 @@ All endpoints require `Authorization: Bearer sk_live_...` and count against your
|
|
|
72
72
|
|
|
73
73
|
## Usage
|
|
74
74
|
|
|
75
|
-
###
|
|
75
|
+
### Guidelines
|
|
76
76
|
|
|
77
77
|
```typescript
|
|
78
|
-
// List all
|
|
79
|
-
const vars = await client.
|
|
78
|
+
// List all guidelines
|
|
79
|
+
const vars = await client.guidelines.list();
|
|
80
80
|
|
|
81
|
-
// Create a
|
|
82
|
-
await client.
|
|
81
|
+
// Create a guideline
|
|
82
|
+
await client.guidelines.create({ name: 'ICP', value: '...', tags: ['sales'] });
|
|
83
83
|
|
|
84
|
-
// Update a
|
|
85
|
-
await client.
|
|
84
|
+
// Update a guideline
|
|
85
|
+
await client.guidelines.update(guidelineId, { value: 'new content' });
|
|
86
86
|
|
|
87
|
-
// Get
|
|
88
|
-
const structure = await client.
|
|
87
|
+
// Get guideline structure (headings)
|
|
88
|
+
const structure = await client.guidelines.getStructure(guidelineId);
|
|
89
89
|
|
|
90
90
|
// Get a specific section
|
|
91
|
-
const section = await client.
|
|
91
|
+
const section = await client.guidelines.getSection(guidelineId, { header: '## Pricing' });
|
|
92
92
|
|
|
93
|
-
// Delete a
|
|
94
|
-
await client.
|
|
93
|
+
// Delete a guideline
|
|
94
|
+
await client.guidelines.delete(guidelineId);
|
|
95
95
|
|
|
96
96
|
// Version history
|
|
97
|
-
const history = await client.
|
|
97
|
+
const history = await client.guidelines.history(guidelineId, { limit: 5 });
|
|
98
98
|
```
|
|
99
99
|
|
|
100
|
-
### Smart
|
|
100
|
+
### Smart Guidelines
|
|
101
101
|
|
|
102
102
|
```typescript
|
|
103
|
-
const ctx = await client.ai.
|
|
103
|
+
const ctx = await client.ai.smartGuidelines({
|
|
104
104
|
message: 'Write a sales sequence for our top 3 ICPs',
|
|
105
105
|
tags: ['sales'],
|
|
106
106
|
excludeTags: ['internal'],
|
|
@@ -307,7 +307,7 @@ console.log(evaluation.data.summary.propertiesOptimized);
|
|
|
307
307
|
| Option | Type | Required | Description |
|
|
308
308
|
| :--- | :--- | :--- | :--- |
|
|
309
309
|
| `secretKey` | string | Yes | Your secret key (`sk_live_...`). |
|
|
310
|
-
| `baseURL` | string | No | Custom API endpoint (default: `https://
|
|
310
|
+
| `baseURL` | string | No | Custom API endpoint (default: `https://agent.personize.ai`). |
|
|
311
311
|
| `timeout` | number | No | Request timeout in ms (default: `30000`). |
|
|
312
312
|
| `maxRetries` | number | No | Max retry attempts for 429/5xx errors (default: `3`). |
|
|
313
313
|
| `retryDelay` | number | No | Base delay in ms for exponential backoff (default: `1000`). |
|
|
@@ -340,7 +340,7 @@ const client = new Personize({
|
|
|
340
340
|
- `client.memory.search(opts)` — Search/filter records with `property`-based conditions
|
|
341
341
|
- `client.evaluate.memorizationAccuracy(opts)` — Three-phase memorization evaluation
|
|
342
342
|
- `attachments` on `PromptOptions` — Multimodal support (images, PDFs, documents)
|
|
343
|
-
- `sessionId` on `
|
|
343
|
+
- `sessionId` on `SmartGuidelinesOptions` — Progressive context delivery across multi-step workflows
|
|
344
344
|
- New fields on `MemorizeOptions`: `collectionIds`, `skipStorage`, `skipDualWrite`, `skipPropertySelection`
|
|
345
345
|
- New fields on `SmartRecallOptions`: `max_reflection_rounds`, `filters`
|
|
346
346
|
|
|
@@ -367,7 +367,7 @@ skills/integrations/
|
|
|
367
367
|
|
|
368
368
|
### Governance (`skills/governance/`)
|
|
369
369
|
|
|
370
|
-
Manage
|
|
370
|
+
Manage guidelines as code — maintain a `governance/guidelines/` folder of `.md` files and sync them to the Personize API.
|
|
371
371
|
|
|
372
372
|
```
|
|
373
373
|
skills/governance/
|
package/dist/client.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PersonizeConfig, ApiResponse, MeResponse, TestResponse, ListOptions,
|
|
1
|
+
import { PersonizeConfig, ApiResponse, MeResponse, TestResponse, ListOptions, GuidelinesResponse, GuidelineSectionOptions, GuidelineUpdatePayload, GuidelineCreatePayload, GuidelineHistoryResponse, GuidelineHistoryOptions, CollectionsResponse, CollectionCreatePayload, CollectionUpdatePayload, CollectionHistoryOptions, CollectionHistoryResponse, SmartGuidelinesOptions, SmartGuidelinesResponse, PromptOptions, PromptResponse, AgentRunOptions, AgentResponse, MemorizeOptions, SmartRecallOptions, RecallOptions, SearchOptions, SearchResponse, UpsertOptions, UpsertBatchOptions, BatchMemorizeOptions, SmartDigestOptions, SmartDigestResponse, EvaluateMemorizationOptions, EvaluateMemorizationResponse } from './types';
|
|
2
2
|
export declare class Personize {
|
|
3
3
|
private client;
|
|
4
4
|
private _organizationId?;
|
|
@@ -16,36 +16,36 @@ export declare class Personize {
|
|
|
16
16
|
* GET /api/v1/me — Current context (org, user, plan)
|
|
17
17
|
*/
|
|
18
18
|
me(): Promise<ApiResponse<MeResponse>>;
|
|
19
|
-
|
|
19
|
+
guidelines: {
|
|
20
20
|
/**
|
|
21
|
-
* GET /api/v1/
|
|
21
|
+
* GET /api/v1/guidelines — List guidelines for the organization (paginated).
|
|
22
22
|
* Pass `limit` and `nextToken` for cursor-based pagination.
|
|
23
23
|
*/
|
|
24
|
-
list: (options?: ListOptions) => Promise<ApiResponse<
|
|
24
|
+
list: (options?: ListOptions) => Promise<ApiResponse<GuidelinesResponse>>;
|
|
25
25
|
/**
|
|
26
|
-
* GET /api/v1/
|
|
26
|
+
* GET /api/v1/guidelines/:id/structure — Get guideline headings
|
|
27
27
|
*/
|
|
28
28
|
getStructure: (id: string) => Promise<ApiResponse>;
|
|
29
29
|
/**
|
|
30
|
-
* GET /api/v1/
|
|
30
|
+
* GET /api/v1/guidelines/:id/section — Get a section of a guideline by header
|
|
31
31
|
*/
|
|
32
|
-
getSection: (id: string, options:
|
|
32
|
+
getSection: (id: string, options: GuidelineSectionOptions) => Promise<ApiResponse>;
|
|
33
33
|
/**
|
|
34
|
-
* PATCH /api/v1/
|
|
34
|
+
* PATCH /api/v1/guidelines/:id — Partial update to a guideline
|
|
35
35
|
*/
|
|
36
|
-
update: (id: string, payload:
|
|
36
|
+
update: (id: string, payload: GuidelineUpdatePayload) => Promise<ApiResponse>;
|
|
37
37
|
/**
|
|
38
|
-
* POST /api/v1/
|
|
38
|
+
* POST /api/v1/guidelines — Create a new guideline
|
|
39
39
|
*/
|
|
40
|
-
create: (payload:
|
|
40
|
+
create: (payload: GuidelineCreatePayload) => Promise<ApiResponse>;
|
|
41
41
|
/**
|
|
42
|
-
* DELETE /api/v1/
|
|
42
|
+
* DELETE /api/v1/guidelines/:id — Delete a guideline
|
|
43
43
|
*/
|
|
44
44
|
delete: (id: string) => Promise<ApiResponse>;
|
|
45
45
|
/**
|
|
46
|
-
* GET /api/v1/actions/:id/history — Get version history for a
|
|
46
|
+
* GET /api/v1/actions/:id/history — Get version history for a guideline
|
|
47
47
|
*/
|
|
48
|
-
history: (id: string, options?:
|
|
48
|
+
history: (id: string, options?: GuidelineHistoryOptions) => Promise<ApiResponse<GuidelineHistoryResponse>>;
|
|
49
49
|
};
|
|
50
50
|
collections: {
|
|
51
51
|
/**
|
|
@@ -73,9 +73,9 @@ export declare class Personize {
|
|
|
73
73
|
};
|
|
74
74
|
ai: {
|
|
75
75
|
/**
|
|
76
|
-
* POST /api/v1/ai/smart-
|
|
76
|
+
* POST /api/v1/ai/smart-guidelines — Smart guidelines routing. Selects relevant organizational guidelines for a task.
|
|
77
77
|
*/
|
|
78
|
-
|
|
78
|
+
smartGuidelines: (options: SmartGuidelinesOptions) => Promise<ApiResponse<SmartGuidelinesResponse>>;
|
|
79
79
|
/**
|
|
80
80
|
* POST /api/v1/prompt — Execute a prompt with tools, output extraction, and evaluation.
|
|
81
81
|
*
|
package/dist/client.js
CHANGED
|
@@ -8,9 +8,9 @@ const axios_1 = __importDefault(require("axios"));
|
|
|
8
8
|
const errors_1 = require("./errors");
|
|
9
9
|
class Personize {
|
|
10
10
|
constructor(config) {
|
|
11
|
-
this.
|
|
11
|
+
this.guidelines = {
|
|
12
12
|
/**
|
|
13
|
-
* GET /api/v1/
|
|
13
|
+
* GET /api/v1/guidelines — List guidelines for the organization (paginated).
|
|
14
14
|
* Pass `limit` and `nextToken` for cursor-based pagination.
|
|
15
15
|
*/
|
|
16
16
|
list: async (options) => {
|
|
@@ -25,32 +25,32 @@ class Personize {
|
|
|
25
25
|
params.tags = Array.isArray(options.tags) ? options.tags.join(',') : options.tags;
|
|
26
26
|
if (options?.excludeTags)
|
|
27
27
|
params.excludeTags = Array.isArray(options.excludeTags) ? options.excludeTags.join(',') : options.excludeTags;
|
|
28
|
-
const response = await this.client.get('/api/v1/
|
|
28
|
+
const response = await this.client.get('/api/v1/guidelines', { params });
|
|
29
29
|
return response.data;
|
|
30
30
|
},
|
|
31
31
|
/**
|
|
32
|
-
* GET /api/v1/
|
|
32
|
+
* GET /api/v1/guidelines/:id/structure — Get guideline headings
|
|
33
33
|
*/
|
|
34
34
|
getStructure: async (id) => {
|
|
35
|
-
const response = await this.client.get(`/api/v1/
|
|
35
|
+
const response = await this.client.get(`/api/v1/guidelines/${id}/structure`);
|
|
36
36
|
return response.data;
|
|
37
37
|
},
|
|
38
38
|
/**
|
|
39
|
-
* GET /api/v1/
|
|
39
|
+
* GET /api/v1/guidelines/:id/section — Get a section of a guideline by header
|
|
40
40
|
*/
|
|
41
41
|
getSection: async (id, options) => {
|
|
42
|
-
const response = await this.client.get(`/api/v1/
|
|
42
|
+
const response = await this.client.get(`/api/v1/guidelines/${id}/section`, {
|
|
43
43
|
params: { header: options.header },
|
|
44
44
|
});
|
|
45
45
|
return response.data;
|
|
46
46
|
},
|
|
47
47
|
/**
|
|
48
|
-
* PATCH /api/v1/
|
|
48
|
+
* PATCH /api/v1/guidelines/:id — Partial update to a guideline
|
|
49
49
|
*/
|
|
50
50
|
update: async (id, payload) => {
|
|
51
51
|
const organizationId = await this.getOrganizationId();
|
|
52
52
|
const { historyNote, ...rest } = payload;
|
|
53
|
-
const response = await this.client.patch(`/api/v1/
|
|
53
|
+
const response = await this.client.patch(`/api/v1/guidelines/${id}`, {
|
|
54
54
|
organizationId,
|
|
55
55
|
historyNote,
|
|
56
56
|
payload: rest,
|
|
@@ -58,21 +58,21 @@ class Personize {
|
|
|
58
58
|
return response.data;
|
|
59
59
|
},
|
|
60
60
|
/**
|
|
61
|
-
* POST /api/v1/
|
|
61
|
+
* POST /api/v1/guidelines — Create a new guideline
|
|
62
62
|
*/
|
|
63
63
|
create: async (payload) => {
|
|
64
|
-
const response = await this.client.post('/api/v1/
|
|
64
|
+
const response = await this.client.post('/api/v1/guidelines', payload);
|
|
65
65
|
return response.data;
|
|
66
66
|
},
|
|
67
67
|
/**
|
|
68
|
-
* DELETE /api/v1/
|
|
68
|
+
* DELETE /api/v1/guidelines/:id — Delete a guideline
|
|
69
69
|
*/
|
|
70
70
|
delete: async (id) => {
|
|
71
|
-
const response = await this.client.delete(`/api/v1/
|
|
71
|
+
const response = await this.client.delete(`/api/v1/guidelines/${id}`);
|
|
72
72
|
return response.data;
|
|
73
73
|
},
|
|
74
74
|
/**
|
|
75
|
-
* GET /api/v1/actions/:id/history — Get version history for a
|
|
75
|
+
* GET /api/v1/actions/:id/history — Get version history for a guideline
|
|
76
76
|
*/
|
|
77
77
|
history: async (id, options) => {
|
|
78
78
|
const organizationId = await this.getOrganizationId();
|
|
@@ -141,10 +141,10 @@ class Personize {
|
|
|
141
141
|
};
|
|
142
142
|
this.ai = {
|
|
143
143
|
/**
|
|
144
|
-
* POST /api/v1/ai/smart-
|
|
144
|
+
* POST /api/v1/ai/smart-guidelines — Smart guidelines routing. Selects relevant organizational guidelines for a task.
|
|
145
145
|
*/
|
|
146
|
-
|
|
147
|
-
const response = await this.client.post('/api/v1/ai/smart-
|
|
146
|
+
smartGuidelines: async (options) => {
|
|
147
|
+
const response = await this.client.post('/api/v1/ai/smart-guidelines', options);
|
|
148
148
|
return response.data;
|
|
149
149
|
},
|
|
150
150
|
/**
|
|
@@ -285,7 +285,7 @@ class Personize {
|
|
|
285
285
|
this.maxRetries = config.maxRetries ?? 3;
|
|
286
286
|
this.retryDelay = config.retryDelay ?? 1000;
|
|
287
287
|
this.client = axios_1.default.create({
|
|
288
|
-
baseURL: config.baseURL || 'https://
|
|
288
|
+
baseURL: config.baseURL || 'https://agent.personize.ai',
|
|
289
289
|
timeout: config.timeout ?? 30000,
|
|
290
290
|
headers: {
|
|
291
291
|
'Authorization': `Bearer ${config.secretKey}`,
|
package/dist/types.d.ts
CHANGED
|
@@ -58,24 +58,37 @@ export interface ListOptions {
|
|
|
58
58
|
/** When true, strip the full `value` field for lighter payloads. */
|
|
59
59
|
summary?: boolean;
|
|
60
60
|
}
|
|
61
|
-
|
|
61
|
+
/** Inferred governance scope for a guideline — determines when it is proactively included in SmartContext results. */
|
|
62
|
+
export interface GovernanceScope {
|
|
63
|
+
/** True if this guideline applies to virtually all agent tasks (e.g., core company values, universal compliance). */
|
|
64
|
+
alwaysOn: boolean;
|
|
65
|
+
/** Action/domain keywords that trigger inclusion (e.g., "email", "pricing", "deploy"). */
|
|
66
|
+
triggerKeywords: string[];
|
|
67
|
+
}
|
|
68
|
+
export interface GuidelinesResponse {
|
|
62
69
|
actions: Array<{
|
|
63
70
|
id: string;
|
|
64
71
|
type: string;
|
|
65
72
|
payload: {
|
|
66
73
|
name: string;
|
|
67
74
|
value: string;
|
|
68
|
-
|
|
75
|
+
/** Auto-inferred governance scope (read-only). Present when the guideline has been analyzed. */
|
|
76
|
+
governanceScope?: GovernanceScope;
|
|
77
|
+
[key: string]: PropertyValue | GovernanceScope | string[] | undefined;
|
|
69
78
|
};
|
|
70
79
|
}>;
|
|
71
80
|
count: number;
|
|
72
81
|
/** Cursor for the next page. Undefined when on the last page. */
|
|
73
82
|
nextToken?: string;
|
|
74
83
|
}
|
|
75
|
-
|
|
84
|
+
/** @deprecated Use GuidelinesResponse instead. */
|
|
85
|
+
export type VariablesResponse = GuidelinesResponse;
|
|
86
|
+
export interface GuidelineSectionOptions {
|
|
76
87
|
header: string;
|
|
77
88
|
}
|
|
78
|
-
|
|
89
|
+
/** @deprecated Use GuidelineSectionOptions instead. */
|
|
90
|
+
export type VariableSectionOptions = GuidelineSectionOptions;
|
|
91
|
+
export interface GuidelineUpdatePayload {
|
|
79
92
|
name?: string;
|
|
80
93
|
value?: string;
|
|
81
94
|
description?: string;
|
|
@@ -86,14 +99,18 @@ export interface VariableUpdatePayload {
|
|
|
86
99
|
separator?: string;
|
|
87
100
|
historyNote?: string;
|
|
88
101
|
}
|
|
89
|
-
|
|
102
|
+
/** @deprecated Use GuidelineUpdatePayload instead. */
|
|
103
|
+
export type VariableUpdatePayload = GuidelineUpdatePayload;
|
|
104
|
+
export interface GuidelineCreatePayload {
|
|
90
105
|
name: string;
|
|
91
106
|
value?: string;
|
|
92
107
|
description?: string;
|
|
93
108
|
tags?: string[];
|
|
94
109
|
secure?: boolean;
|
|
95
110
|
}
|
|
96
|
-
|
|
111
|
+
/** @deprecated Use GuidelineCreatePayload instead. */
|
|
112
|
+
export type VariableCreatePayload = GuidelineCreatePayload;
|
|
113
|
+
export interface GuidelineHistoryEntry {
|
|
97
114
|
id: string;
|
|
98
115
|
originalActionId: string;
|
|
99
116
|
type: string;
|
|
@@ -109,16 +126,22 @@ export interface VariableHistoryEntry {
|
|
|
109
126
|
[key: string]: PropertyValue;
|
|
110
127
|
};
|
|
111
128
|
}
|
|
112
|
-
|
|
129
|
+
/** @deprecated Use GuidelineHistoryEntry instead. */
|
|
130
|
+
export type VariableHistoryEntry = GuidelineHistoryEntry;
|
|
131
|
+
export interface GuidelineHistoryResponse {
|
|
113
132
|
actionId: string;
|
|
114
|
-
history:
|
|
133
|
+
history: GuidelineHistoryEntry[];
|
|
115
134
|
count: number;
|
|
116
135
|
}
|
|
117
|
-
|
|
136
|
+
/** @deprecated Use GuidelineHistoryResponse instead. */
|
|
137
|
+
export type VariableHistoryResponse = GuidelineHistoryResponse;
|
|
138
|
+
export interface GuidelineHistoryOptions {
|
|
118
139
|
/** Max number of history records to return (default: 20, max: 50).
|
|
119
140
|
* Each entry includes the full variable content snapshot, so use a small limit (3-5) in token-sensitive contexts. */
|
|
120
141
|
limit?: number;
|
|
121
142
|
}
|
|
143
|
+
/** @deprecated Use GuidelineHistoryOptions instead. */
|
|
144
|
+
export type VariableHistoryOptions = GuidelineHistoryOptions;
|
|
122
145
|
export interface CollectionsResponse {
|
|
123
146
|
actions: Array<{
|
|
124
147
|
id: string;
|
|
@@ -213,9 +236,12 @@ export interface CollectionHistoryResponse {
|
|
|
213
236
|
changes: CollectionPropertyDiff;
|
|
214
237
|
}>;
|
|
215
238
|
}
|
|
216
|
-
export interface
|
|
239
|
+
export interface SmartGuidelinesOptions {
|
|
217
240
|
message: string;
|
|
218
|
-
|
|
241
|
+
/** Filter to specific guideline IDs. */
|
|
242
|
+
guidelineIds?: string[];
|
|
243
|
+
/** Resolve guideline names to IDs server-side (case-insensitive match). */
|
|
244
|
+
guidelineNames?: string[];
|
|
219
245
|
tags?: string[];
|
|
220
246
|
excludeTags?: string[];
|
|
221
247
|
model?: string;
|
|
@@ -226,13 +252,17 @@ export interface SmartContextOptions {
|
|
|
226
252
|
/** Session ID for conversation continuity. */
|
|
227
253
|
sessionId?: string;
|
|
228
254
|
}
|
|
229
|
-
|
|
255
|
+
/** @deprecated Use SmartGuidelinesOptions instead. */
|
|
256
|
+
export type SmartContextOptions = SmartGuidelinesOptions;
|
|
257
|
+
export interface SmartGuidelinesAnalysis {
|
|
230
258
|
taskUnderstanding: string;
|
|
231
259
|
qualityDimensions: string[];
|
|
232
260
|
refinedTask: string;
|
|
233
261
|
}
|
|
234
|
-
|
|
235
|
-
|
|
262
|
+
/** @deprecated Use SmartGuidelinesAnalysis instead. */
|
|
263
|
+
export type SmartContextAnalysis = SmartGuidelinesAnalysis;
|
|
264
|
+
export interface SmartGuidelinesSelection {
|
|
265
|
+
guidelineId: string;
|
|
236
266
|
name?: string;
|
|
237
267
|
score?: number;
|
|
238
268
|
reason?: string;
|
|
@@ -242,10 +272,12 @@ export interface SmartContextSelection {
|
|
|
242
272
|
mode?: string;
|
|
243
273
|
sections?: string[];
|
|
244
274
|
}
|
|
245
|
-
|
|
275
|
+
/** @deprecated Use SmartGuidelinesSelection instead. */
|
|
276
|
+
export type SmartContextSelection = SmartGuidelinesSelection;
|
|
277
|
+
export interface SmartGuidelinesUsage {
|
|
246
278
|
durationMs: number;
|
|
247
279
|
tokensUsed?: number;
|
|
248
|
-
|
|
280
|
+
guidelinesScanned?: number;
|
|
249
281
|
selectedCount?: number;
|
|
250
282
|
preFilter?: {
|
|
251
283
|
total: number;
|
|
@@ -254,17 +286,21 @@ export interface SmartContextUsage {
|
|
|
254
286
|
durationMs: number;
|
|
255
287
|
};
|
|
256
288
|
}
|
|
257
|
-
|
|
289
|
+
/** @deprecated Use SmartGuidelinesUsage instead. */
|
|
290
|
+
export type SmartContextUsage = SmartGuidelinesUsage;
|
|
291
|
+
export interface SmartGuidelinesResponse {
|
|
258
292
|
success: boolean;
|
|
259
293
|
/** Which routing mode was actually used. */
|
|
260
294
|
mode: 'fast' | 'full';
|
|
261
295
|
/** LLM analysis of the task. Null in fast mode. */
|
|
262
|
-
analysis?:
|
|
263
|
-
selection:
|
|
264
|
-
supplementary?:
|
|
296
|
+
analysis?: SmartGuidelinesAnalysis | null;
|
|
297
|
+
selection: SmartGuidelinesSelection[];
|
|
298
|
+
supplementary?: SmartGuidelinesSelection[];
|
|
265
299
|
compiledContext: string;
|
|
266
|
-
usage:
|
|
300
|
+
usage: SmartGuidelinesUsage;
|
|
267
301
|
}
|
|
302
|
+
/** @deprecated Use SmartGuidelinesResponse instead. */
|
|
303
|
+
export type SmartContextResponse = SmartGuidelinesResponse;
|
|
268
304
|
/**
|
|
269
305
|
* Per-MCP tool selection override.
|
|
270
306
|
* Use enabledTools for an explicit allowlist, or disabledTools for a denylist.
|
|
@@ -274,6 +310,38 @@ export interface McpToolSelection {
|
|
|
274
310
|
enabledTools?: string[];
|
|
275
311
|
disabledTools?: string[];
|
|
276
312
|
}
|
|
313
|
+
/**
|
|
314
|
+
* An attachment sent alongside a prompt or agent run.
|
|
315
|
+
*
|
|
316
|
+
* Two modes:
|
|
317
|
+
* - **Inline (base64):** `data` contains the raw base64-encoded content.
|
|
318
|
+
* - **URL reference:** `url` points to a publicly-accessible or presigned URL.
|
|
319
|
+
*
|
|
320
|
+
* At least one of `data` or `url` must be provided.
|
|
321
|
+
*/
|
|
322
|
+
export interface Attachment {
|
|
323
|
+
/** Human-readable filename (e.g. "screenshot.png"). Max 255 chars. */
|
|
324
|
+
name?: string;
|
|
325
|
+
/** MIME type (e.g. "image/png", "application/pdf"). Must be a supported type. */
|
|
326
|
+
mimeType: string;
|
|
327
|
+
/** Base64-encoded content. Required if `url` is not provided. */
|
|
328
|
+
data?: string;
|
|
329
|
+
/** Publicly-accessible URL to the content. Required if `data` is not provided. */
|
|
330
|
+
url?: string;
|
|
331
|
+
}
|
|
332
|
+
/**
|
|
333
|
+
* Supported MIME types for attachments.
|
|
334
|
+
*
|
|
335
|
+
* Images: image/png, image/jpeg, image/gif, image/webp, image/svg+xml
|
|
336
|
+
* Documents: application/pdf, text/plain, text/csv, text/html, text/markdown, application/json
|
|
337
|
+
*/
|
|
338
|
+
export declare const SUPPORTED_ATTACHMENT_TYPES: readonly ["image/png", "image/jpeg", "image/gif", "image/webp", "image/svg+xml", "application/pdf", "text/plain", "text/csv", "text/html", "text/markdown", "application/json"];
|
|
339
|
+
/** Max attachments per request. */
|
|
340
|
+
export declare const MAX_ATTACHMENTS_COUNT = 10;
|
|
341
|
+
/** Max size per attachment in bytes (20 MB). */
|
|
342
|
+
export declare const MAX_ATTACHMENT_SIZE_BYTES: number;
|
|
343
|
+
/** Max total attachment payload in bytes (50 MB). */
|
|
344
|
+
export declare const MAX_TOTAL_ATTACHMENTS_BYTES: number;
|
|
277
345
|
/** Auto-memorize configuration for /prompt. */
|
|
278
346
|
export interface PromptMemorizeConfig {
|
|
279
347
|
/** Contact email identifier. */
|
|
@@ -286,7 +354,7 @@ export interface PromptMemorizeConfig {
|
|
|
286
354
|
type?: 'Contact' | 'Company' | 'User';
|
|
287
355
|
/**
|
|
288
356
|
* When true, tool results from research tools (search_companies, tavily, etc.)
|
|
289
|
-
* are automatically captured and memorized. Meta tools (
|
|
357
|
+
* are automatically captured and memorized. Meta tools (smart_guidelines,
|
|
290
358
|
* recall_pro, memorize_pro, store_evaluation_log) are excluded.
|
|
291
359
|
*/
|
|
292
360
|
captureToolResults?: boolean;
|
|
@@ -325,12 +393,6 @@ export interface PromptOptions {
|
|
|
325
393
|
provider?: string;
|
|
326
394
|
context?: string;
|
|
327
395
|
sessionId?: string;
|
|
328
|
-
/**
|
|
329
|
-
* Multimodal attachments (images, PDFs, documents).
|
|
330
|
-
* Max 10 attachments, 20 MB per attachment, 50 MB total.
|
|
331
|
-
* In multi-step mode, attachments are sent with the first instruction only.
|
|
332
|
-
*/
|
|
333
|
-
attachments?: PromptAttachment[];
|
|
334
396
|
/**
|
|
335
397
|
* Evaluation configuration.
|
|
336
398
|
* - `true` — server-side auto-evaluation with default criteria
|
|
@@ -352,6 +414,16 @@ export interface PromptOptions {
|
|
|
352
414
|
};
|
|
353
415
|
/** Per-MCP tool selection override (allowlist or denylist per MCP) */
|
|
354
416
|
mcpTools?: McpToolSelection[];
|
|
417
|
+
/**
|
|
418
|
+
* Images or documents to send with the prompt (multimodal input).
|
|
419
|
+
*
|
|
420
|
+
* In multi-step mode (`instructions`), attachments are sent with the
|
|
421
|
+
* **first instruction** only — subsequent steps reference them via
|
|
422
|
+
* conversation history.
|
|
423
|
+
*
|
|
424
|
+
* Limits: max 10 attachments, 20 MB each, 50 MB total.
|
|
425
|
+
*/
|
|
426
|
+
attachments?: Attachment[];
|
|
355
427
|
}
|
|
356
428
|
/** Prompt response when outputs/evaluation are used. */
|
|
357
429
|
export interface PromptResponse {
|
|
@@ -443,6 +515,12 @@ export interface AgentRunOptions {
|
|
|
443
515
|
recordId?: string;
|
|
444
516
|
/** Per-MCP tool selection override (allowlist or denylist per MCP) */
|
|
445
517
|
mcpTools?: McpToolSelection[];
|
|
518
|
+
/**
|
|
519
|
+
* Images or documents to send with the agent run (multimodal input).
|
|
520
|
+
*
|
|
521
|
+
* Limits: max 10 attachments, 20 MB each, 50 MB total.
|
|
522
|
+
*/
|
|
523
|
+
attachments?: Attachment[];
|
|
446
524
|
}
|
|
447
525
|
export interface MemorizeOptions {
|
|
448
526
|
/** Content to memorize. */
|
|
@@ -493,6 +571,10 @@ export interface SmartRecallOptions {
|
|
|
493
571
|
website_url?: string;
|
|
494
572
|
/** Entity type filter (e.g. 'Contact', 'Company'). */
|
|
495
573
|
type?: string;
|
|
574
|
+
/** Scope results to specific collections by ID. */
|
|
575
|
+
collectionIds?: string[];
|
|
576
|
+
/** Scope results to specific collections by name (resolved server-side, case-insensitive). */
|
|
577
|
+
collectionNames?: string[];
|
|
496
578
|
/** Return schema-enforced property values separately from free-form memories. */
|
|
497
579
|
include_property_values?: boolean;
|
|
498
580
|
/** Enable reflection loop to improve recall coverage (default: true). */
|
package/dist/types.js
CHANGED
|
@@ -1,3 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// --- Utility Types ---
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.MAX_TOTAL_ATTACHMENTS_BYTES = exports.MAX_ATTACHMENT_SIZE_BYTES = exports.MAX_ATTACHMENTS_COUNT = exports.SUPPORTED_ATTACHMENT_TYPES = void 0;
|
|
5
|
+
/**
|
|
6
|
+
* Supported MIME types for attachments.
|
|
7
|
+
*
|
|
8
|
+
* Images: image/png, image/jpeg, image/gif, image/webp, image/svg+xml
|
|
9
|
+
* Documents: application/pdf, text/plain, text/csv, text/html, text/markdown, application/json
|
|
10
|
+
*/
|
|
11
|
+
exports.SUPPORTED_ATTACHMENT_TYPES = [
|
|
12
|
+
'image/png', 'image/jpeg', 'image/gif', 'image/webp', 'image/svg+xml',
|
|
13
|
+
'application/pdf',
|
|
14
|
+
'text/plain', 'text/csv', 'text/html', 'text/markdown',
|
|
15
|
+
'application/json',
|
|
16
|
+
];
|
|
17
|
+
/** Max attachments per request. */
|
|
18
|
+
exports.MAX_ATTACHMENTS_COUNT = 10;
|
|
19
|
+
/** Max size per attachment in bytes (20 MB). */
|
|
20
|
+
exports.MAX_ATTACHMENT_SIZE_BYTES = 20 * 1024 * 1024;
|
|
21
|
+
/** Max total attachment payload in bytes (50 MB). */
|
|
22
|
+
exports.MAX_TOTAL_ATTACHMENTS_BYTES = 50 * 1024 * 1024;
|