@memtensor/memos-cloud-openclaw-plugin 0.1.21-beta.0 → 0.1.22

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 (46) hide show
  1. package/README.md +32 -23
  2. package/clawdbot.plugin.json +1 -1
  3. package/index.js +15 -28
  4. package/lib/config-ui-server.js +967 -967
  5. package/lib/memos-cloud-api.js +37 -11
  6. package/moltbot.plugin.json +1 -1
  7. package/openclaw.plugin.json +1 -1
  8. package/package.json +15 -19
  9. package/telemetry.credentials.json +5 -0
  10. package/README_ZH.md +0 -309
  11. package/lib/memos-core/filter.d.ts +0 -5
  12. package/lib/memos-core/filter.d.ts.map +0 -1
  13. package/lib/memos-core/filter.js +0 -213
  14. package/lib/memos-core/filter.js.map +0 -1
  15. package/lib/memos-core/index.d.ts +0 -9
  16. package/lib/memos-core/index.d.ts.map +0 -1
  17. package/lib/memos-core/index.js +0 -8
  18. package/lib/memos-core/index.js.map +0 -1
  19. package/lib/memos-core/memos-client.d.ts +0 -23
  20. package/lib/memos-core/memos-client.d.ts.map +0 -1
  21. package/lib/memos-core/memos-client.js +0 -173
  22. package/lib/memos-core/memos-client.js.map +0 -1
  23. package/lib/memos-core/memos-errors.d.ts +0 -14
  24. package/lib/memos-core/memos-errors.d.ts.map +0 -1
  25. package/lib/memos-core/memos-errors.js +0 -14
  26. package/lib/memos-core/memos-errors.js.map +0 -1
  27. package/lib/memos-core/memos-response.d.ts +0 -4
  28. package/lib/memos-core/memos-response.d.ts.map +0 -1
  29. package/lib/memos-core/memos-response.js +0 -84
  30. package/lib/memos-core/memos-response.js.map +0 -1
  31. package/lib/memos-core/payloads.d.ts +0 -31
  32. package/lib/memos-core/payloads.d.ts.map +0 -1
  33. package/lib/memos-core/payloads.js +0 -42
  34. package/lib/memos-core/payloads.js.map +0 -1
  35. package/lib/memos-core/recall-projection.d.ts +0 -35
  36. package/lib/memos-core/recall-projection.d.ts.map +0 -1
  37. package/lib/memos-core/recall-projection.js +0 -95
  38. package/lib/memos-core/recall-projection.js.map +0 -1
  39. package/lib/memos-core/serialization.d.ts +0 -5
  40. package/lib/memos-core/serialization.d.ts.map +0 -1
  41. package/lib/memos-core/serialization.js +0 -11
  42. package/lib/memos-core/serialization.js.map +0 -1
  43. package/lib/memos-core/types.d.ts +0 -114
  44. package/lib/memos-core/types.d.ts.map +0 -1
  45. package/lib/memos-core/types.js +0 -2
  46. package/lib/memos-core/types.js.map +0 -1
@@ -1,213 +0,0 @@
1
- const SOURCE_KEYS = new Set(['user', 'public', 'knowledgebase']);
2
- const SUPPORTED_OPERATORS = new Set(['contains', 'gt', 'gte', 'lt', 'lte', 'in', 'like']);
3
- const RANGE_OPERATORS = new Set(['gt', 'gte', 'lt', 'lte']);
4
- const FIELD_PATTERN = /^[a-zA-Z0-9_]+$/;
5
- const DATE_TIME_PATTERN = /^(\d{4})-(\d{2})-(\d{2})(?: (\d{2}):(\d{2}):(\d{2}))?$/;
6
- const fail = (message) => {
7
- throw new TypeError(message);
8
- };
9
- const isPlainObject = (value) => {
10
- if (value === null || typeof value !== 'object' || Array.isArray(value))
11
- return false;
12
- const prototype = Object.getPrototypeOf(value);
13
- return prototype === Object.prototype || prototype === null;
14
- };
15
- const validateKnowledgebaseIds = (ids) => {
16
- if (ids === undefined)
17
- return;
18
- if (ids.some((id) => typeof id !== 'string' || id.trim().length === 0)) {
19
- fail('knowledgebaseIds cannot contain a blank ID');
20
- }
21
- if (ids.includes('all') && ids.length !== 1) {
22
- fail("knowledgebaseIds value 'all' cannot be combined with concrete IDs");
23
- }
24
- };
25
- const validateFieldName = (field) => {
26
- if (!FIELD_PATTERN.test(field))
27
- fail(`invalid filter field '${field}'`);
28
- const lower = field.toLowerCase();
29
- if (lower.includes('time') && lower !== 'create_time' && lower !== 'update_time') {
30
- fail(`time field '${field}' is not allowed; use create_time or update_time`);
31
- }
32
- };
33
- const validateDateTime = (value, field, operator) => {
34
- const match = DATE_TIME_PATTERN.exec(value);
35
- if (match === null)
36
- fail(`${field}.${operator} must use a valid date or date-time`);
37
- const year = Number(match[1]);
38
- const month = Number(match[2]);
39
- const day = Number(match[3]);
40
- const hour = Number(match[4] ?? 0);
41
- const minute = Number(match[5] ?? 0);
42
- const second = Number(match[6] ?? 0);
43
- const parsed = new Date(Date.UTC(year, month - 1, day, hour, minute, second));
44
- if (parsed.getUTCFullYear() !== year || parsed.getUTCMonth() !== month - 1
45
- || parsed.getUTCDate() !== day || parsed.getUTCHours() !== hour
46
- || parsed.getUTCMinutes() !== minute || parsed.getUTCSeconds() !== second) {
47
- fail(`${field}.${operator} has an invalid date`);
48
- }
49
- };
50
- const validateSimpleValue = (field, value) => {
51
- if (value === null)
52
- fail(`filter field '${field}' cannot be null`);
53
- if (typeof value === 'string') {
54
- if (value.trim().length === 0)
55
- fail(`filter field '${field}' cannot be blank`);
56
- return;
57
- }
58
- if (typeof value === 'number') {
59
- if (!Number.isFinite(value))
60
- fail(`filter field '${field}' must be finite`);
61
- return;
62
- }
63
- if (typeof value === 'boolean')
64
- return;
65
- fail(`filter field '${field}' must have a scalar value`);
66
- };
67
- const validateOperatorValue = (field, operator, value) => {
68
- if (operator === 'contains' || operator === 'like') {
69
- if (typeof value !== 'string')
70
- fail(`${field}.${operator} must be a string`);
71
- if (value.trim().length === 0)
72
- fail(`${field}.${operator} cannot be blank`);
73
- return;
74
- }
75
- if (operator === 'in') {
76
- if (!Array.isArray(value))
77
- fail(`${field}.in must be a string array`);
78
- if (value.length === 0)
79
- fail(`${field}.in cannot be empty`);
80
- if (value.some((entry) => typeof entry !== 'string' || entry.trim().length === 0)) {
81
- fail(`${field}.in entries must be non-blank strings`);
82
- }
83
- return;
84
- }
85
- if (RANGE_OPERATORS.has(operator)) {
86
- if (typeof value !== 'string')
87
- fail(`${field}.${operator} must be a date string`);
88
- validateDateTime(value, field, operator);
89
- }
90
- };
91
- const validateOperatorObject = (field, value) => {
92
- const entries = Object.entries(value);
93
- if (entries.length === 0)
94
- fail(`operator object for '${field}' cannot be empty`);
95
- for (const [operator, operand] of entries) {
96
- if (!SUPPORTED_OPERATORS.has(operator))
97
- fail(`unsupported operator '${operator}' for '${field}'`);
98
- validateOperatorValue(field, operator, operand);
99
- }
100
- };
101
- const validateCondition = (value) => {
102
- if (!isPlainObject(value))
103
- fail('logical filter conditions must be objects');
104
- const entries = Object.entries(value);
105
- if (entries.length !== 1)
106
- fail('logical filter condition must contain exactly one field');
107
- const entry = entries[0];
108
- if (entry === undefined)
109
- fail('logical filter condition must contain one field');
110
- const [field, operand] = entry;
111
- validateFieldName(field);
112
- if (isPlainObject(operand)) {
113
- validateOperatorObject(field, operand);
114
- return;
115
- }
116
- validateSimpleValue(field, operand);
117
- };
118
- const validateRegularFilter = (filter) => {
119
- const entries = Object.entries(filter);
120
- if (entries.length === 0)
121
- fail('filter object cannot be empty');
122
- const hasAnd = Object.hasOwn(filter, 'and');
123
- const hasOr = Object.hasOwn(filter, 'or');
124
- if (hasAnd || hasOr) {
125
- if (entries.length !== 1)
126
- fail("logical filter cannot contain any other key");
127
- const conditions = filter[hasAnd ? 'and' : 'or'];
128
- if (!Array.isArray(conditions))
129
- fail('logical filter value must be an array');
130
- if (conditions.length === 0)
131
- fail('logical filter array cannot be empty');
132
- conditions.forEach(validateCondition);
133
- return;
134
- }
135
- for (const [field, value] of entries) {
136
- validateFieldName(field);
137
- if (isPlainObject(value))
138
- fail(`simple filter field '${field}' cannot use an operator object`);
139
- validateSimpleValue(field, value);
140
- }
141
- };
142
- export const isPerSourceFilter = (value) => {
143
- const keys = Object.keys(value);
144
- return keys.length > 0 && keys.every((key) => SOURCE_KEYS.has(key));
145
- };
146
- export function validateFilter(value, knowledgebaseIds) {
147
- validateKnowledgebaseIds(knowledgebaseIds);
148
- if (value === undefined)
149
- return;
150
- if (!isPlainObject(value))
151
- fail('filter must be a plain object');
152
- const keys = Object.keys(value);
153
- if (keys.length === 0)
154
- fail('filter object cannot be empty');
155
- const sourceCount = keys.filter((key) => SOURCE_KEYS.has(key)).length;
156
- if (sourceCount > 0 && sourceCount !== keys.length)
157
- fail('filter cannot mix source and regular keys');
158
- if (!isPerSourceFilter(value)) {
159
- validateRegularFilter(value);
160
- return;
161
- }
162
- for (const [source, branch] of Object.entries(value)) {
163
- if (!isPlainObject(branch))
164
- fail(`filter.${source} must be a plain object`);
165
- validateRegularFilter(branch);
166
- }
167
- if (Object.hasOwn(value, 'knowledgebase') && (knowledgebaseIds?.length ?? 0) === 0) {
168
- fail('knowledgebaseIds is required when filter.knowledgebase is configured');
169
- }
170
- }
171
- export const buildEffectiveFilter = (filter, agentId) => {
172
- const cloned = filter === undefined ? undefined : structuredClone(filter);
173
- const agent = agentId?.trim();
174
- if (cloned === undefined)
175
- return agent === undefined ? undefined : { user: { agent_id: agent } };
176
- if (!isPerSourceFilter(cloned))
177
- return {
178
- user: agent === undefined ? cloned : mergeAgentIntoBranch(cloned, agent, 'filter'),
179
- };
180
- if (agent === undefined)
181
- return cloned;
182
- const currentUser = cloned.user;
183
- cloned.user = currentUser === undefined
184
- ? { agent_id: agent }
185
- : mergeAgentIntoBranch(currentUser, agent, 'filter.user');
186
- return cloned;
187
- };
188
- const mergeAgentIntoBranch = (branch, agent, path) => {
189
- if (Object.hasOwn(branch, 'or')) {
190
- fail(path === 'filter'
191
- ? 'agentId cannot be combined with an or filter'
192
- : 'agentId cannot be combined with filter.user.or');
193
- }
194
- if (Object.hasOwn(branch, 'and')) {
195
- const conditions = branch.and;
196
- if (!Array.isArray(conditions))
197
- fail(`${path}.and must be an array`);
198
- const explicitAgent = conditions.find((condition) => (isPlainObject(condition) && Object.hasOwn(condition, 'agent_id')));
199
- if (explicitAgent !== undefined) {
200
- if (explicitAgent.agent_id !== agent) {
201
- fail(`${path}.agent_id conflicts with configured agentId`);
202
- }
203
- return { and: [...conditions] };
204
- }
205
- return { and: [...conditions, { agent_id: agent }] };
206
- }
207
- const existing = branch.agent_id;
208
- if (existing !== undefined && existing !== agent) {
209
- fail(`${path}.agent_id conflicts with configured agentId`);
210
- }
211
- return { ...branch, agent_id: agent };
212
- };
213
- //# sourceMappingURL=filter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"filter.js","sourceRoot":"","sources":["../src/filter.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- export * from './filter.js';
2
- export * from './memos-client.js';
3
- export * from './memos-errors.js';
4
- export * from './memos-response.js';
5
- export * from './payloads.js';
6
- export * from './recall-projection.js';
7
- export * from './serialization.js';
8
- export type * from './types.js';
9
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,oBAAoB,CAAA;AAClC,mBAAmB,YAAY,CAAA"}
@@ -1,8 +0,0 @@
1
- export * from './filter.js';
2
- export * from './memos-client.js';
3
- export * from './memos-errors.js';
4
- export * from './memos-response.js';
5
- export * from './payloads.js';
6
- export * from './recall-projection.js';
7
- export * from './serialization.js';
8
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,oBAAoB,CAAA"}
@@ -1,23 +0,0 @@
1
- import type { MemosAddData, MemosAddRequest, MemosSearchData, MemosSearchRequest } from './types.js';
2
- export { MemosClientError } from './memos-errors.js';
3
- export type { MemosClientErrorKind } from './memos-errors.js';
4
- export interface MemosClientOptions {
5
- baseURL: string;
6
- timeoutMs: number;
7
- searchRetries: number;
8
- addRetries?: number;
9
- retryDelayMs?: number;
10
- resolveApiKey: () => Promise<string | undefined>;
11
- fetch?: typeof globalThis.fetch;
12
- lifecycleSignal?: AbortSignal;
13
- redirect?: RequestRedirect;
14
- retryAllFailures?: boolean;
15
- }
16
- export declare class MemosClient {
17
- #private;
18
- constructor(options: MemosClientOptions);
19
- search(request: MemosSearchRequest, signal?: AbortSignal): Promise<MemosSearchData>;
20
- add(request: MemosAddRequest, signal?: AbortSignal): Promise<MemosAddData>;
21
- requestRaw<T = unknown>(path: string, body: unknown, retries: number, signal?: AbortSignal): Promise<T>;
22
- }
23
- //# sourceMappingURL=memos-client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memos-client.d.ts","sourceRoot":"","sources":["../src/memos-client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAEpG,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAE7D,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IAChD,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;IAC/B,eAAe,CAAC,EAAE,WAAW,CAAA;IAC7B,QAAQ,CAAC,EAAE,eAAe,CAAA;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B;AA2ED,qBAAa,WAAW;;gBAYV,OAAO,EAAE,kBAAkB;IAajC,MAAM,CAAC,OAAO,EAAE,kBAAkB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC;IAInF,GAAG,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAI1E,UAAU,CAAC,CAAC,GAAG,OAAO,EAC1B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,CAAC,CAAC;CAuFd"}
@@ -1,173 +0,0 @@
1
- import { MemosClientError } from './memos-errors.js';
2
- import { parseAddResponse, parseSearchResponse } from './memos-response.js';
3
- export { MemosClientError } from './memos-errors.js';
4
- const abortedError = () => new MemosClientError('MemOS request was aborted', { kind: 'aborted' });
5
- const throwIfExternallyAborted = (caller, lifecycle) => {
6
- if (caller?.aborted || lifecycle?.aborted)
7
- throw abortedError();
8
- };
9
- const createRequestSignal = (timeoutMs, caller, lifecycle) => {
10
- const controller = new AbortController();
11
- let source;
12
- const forwardAbort = () => {
13
- if (source !== undefined)
14
- return;
15
- source = 'external';
16
- controller.abort();
17
- };
18
- for (const signal of [caller, lifecycle]) {
19
- if (signal?.aborted)
20
- forwardAbort();
21
- else
22
- signal?.addEventListener('abort', forwardAbort, { once: true });
23
- }
24
- const timeout = setTimeout(() => {
25
- if (source !== undefined)
26
- return;
27
- source = 'timeout';
28
- controller.abort();
29
- }, timeoutMs);
30
- return {
31
- signal: controller.signal,
32
- abortSource: () => source,
33
- cleanup: () => {
34
- clearTimeout(timeout);
35
- caller?.removeEventListener('abort', forwardAbort);
36
- lifecycle?.removeEventListener('abort', forwardAbort);
37
- },
38
- };
39
- };
40
- const abortableDelay = async (milliseconds, caller, lifecycle) => {
41
- throwIfExternallyAborted(caller, lifecycle);
42
- if (milliseconds <= 0)
43
- return;
44
- await new Promise((resolve, reject) => {
45
- const finish = () => {
46
- clearTimeout(timeout);
47
- caller?.removeEventListener('abort', abort);
48
- lifecycle?.removeEventListener('abort', abort);
49
- };
50
- const abort = () => {
51
- finish();
52
- reject(abortedError());
53
- };
54
- const timeout = setTimeout(() => {
55
- finish();
56
- resolve();
57
- }, milliseconds);
58
- caller?.addEventListener('abort', abort, { once: true });
59
- lifecycle?.addEventListener('abort', abort, { once: true });
60
- });
61
- };
62
- export class MemosClient {
63
- #baseURL;
64
- #timeoutMs;
65
- #searchRetries;
66
- #addRetries;
67
- #retryDelayMs;
68
- #resolveApiKey;
69
- #fetch;
70
- #lifecycleSignal;
71
- #redirect;
72
- #retryAllFailures;
73
- constructor(options) {
74
- this.#baseURL = options.baseURL.replace(/\/+$/, '');
75
- this.#timeoutMs = options.timeoutMs;
76
- this.#searchRetries = options.searchRetries;
77
- this.#addRetries = options.addRetries ?? 0;
78
- this.#retryDelayMs = options.retryDelayMs ?? 100;
79
- this.#resolveApiKey = options.resolveApiKey;
80
- this.#fetch = options.fetch ?? globalThis.fetch;
81
- this.#redirect = options.redirect ?? 'error';
82
- this.#retryAllFailures = options.retryAllFailures ?? false;
83
- if (options.lifecycleSignal !== undefined)
84
- this.#lifecycleSignal = options.lifecycleSignal;
85
- }
86
- async search(request, signal) {
87
- return this.#execute('/search/memory', request, parseSearchResponse, this.#searchRetries, signal);
88
- }
89
- async add(request, signal) {
90
- return this.#execute('/add/message', request, parseAddResponse, this.#addRetries, signal);
91
- }
92
- async requestRaw(path, body, retries, signal) {
93
- const parseRaw = async (response) => {
94
- if (!response.ok) {
95
- throw new MemosClientError(`HTTP ${response.status}`, {
96
- kind: 'http',
97
- status: response.status,
98
- retryable: this.#retryAllFailures
99
- || response.status === 408
100
- || response.status === 429
101
- || response.status >= 500,
102
- });
103
- }
104
- try {
105
- return await response.json();
106
- }
107
- catch (cause) {
108
- throw new MemosClientError('MemOS returned invalid JSON', {
109
- kind: 'response',
110
- retryable: this.#retryAllFailures,
111
- cause,
112
- });
113
- }
114
- };
115
- return this.#execute(path, body, parseRaw, retries, signal);
116
- }
117
- async #execute(path, body, parse, retries, callerSignal) {
118
- throwIfExternallyAborted(callerSignal, this.#lifecycleSignal);
119
- let apiKey;
120
- try {
121
- apiKey = await this.#resolveApiKey();
122
- }
123
- catch (cause) {
124
- throw new MemosClientError('MemOS credential resolution failed', { kind: 'credential', cause });
125
- }
126
- if (apiKey === undefined || apiKey.trim().length === 0) {
127
- throw new MemosClientError('MemOS API key is not configured', { kind: 'credential' });
128
- }
129
- for (let attempt = 0;; attempt += 1) {
130
- try {
131
- return await this.#send(path, body, apiKey, parse, callerSignal);
132
- }
133
- catch (cause) {
134
- const error = cause instanceof MemosClientError
135
- ? cause
136
- : new MemosClientError('MemOS request failed', { kind: 'network', retryable: true, cause });
137
- const retryable = error.retryable
138
- || (this.#retryAllFailures && error.kind !== 'credential' && error.kind !== 'aborted');
139
- if (!retryable || attempt >= retries)
140
- throw error;
141
- await abortableDelay(this.#retryDelayMs * (attempt + 1), callerSignal, this.#lifecycleSignal);
142
- }
143
- }
144
- }
145
- async #send(path, body, apiKey, parse, callerSignal) {
146
- throwIfExternallyAborted(callerSignal, this.#lifecycleSignal);
147
- const requestSignal = createRequestSignal(this.#timeoutMs, callerSignal, this.#lifecycleSignal);
148
- try {
149
- const response = await this.#fetch(`${this.#baseURL}${path}`, {
150
- method: 'POST',
151
- headers: { 'Content-Type': 'application/json', Authorization: `Token ${apiKey}` },
152
- body: JSON.stringify(body),
153
- redirect: this.#redirect,
154
- signal: requestSignal.signal,
155
- });
156
- return await parse(response, apiKey);
157
- }
158
- catch (cause) {
159
- if (requestSignal.abortSource() === 'external')
160
- throw abortedError();
161
- if (requestSignal.abortSource() === 'timeout') {
162
- throw new MemosClientError('MemOS request timed out', { kind: 'timeout', retryable: true, cause });
163
- }
164
- if (cause instanceof MemosClientError)
165
- throw cause;
166
- throw new MemosClientError('MemOS network request failed', { kind: 'network', retryable: true, cause });
167
- }
168
- finally {
169
- requestSignal.cleanup();
170
- }
171
- }
172
- }
173
- //# sourceMappingURL=memos-client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memos-client.js","sourceRoot":"","sources":["../src/memos-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAG3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAsBpD,MAAM,YAAY,GAAG,GAAqB,EAAE,CAAC,IAAI,gBAAgB,CAC/D,2BAA2B,EAC3B,EAAE,IAAI,EAAE,SAAS,EAAE,CACpB,CAAA;AAED,MAAM,wBAAwB,GAAG,CAAC,MAAoB,EAAE,SAAuB,EAAQ,EAAE;IACvF,IAAI,MAAM,EAAE,OAAO,IAAI,SAAS,EAAE,OAAO;QAAE,MAAM,YAAY,EAAE,CAAA;AACjE,CAAC,CAAA;AAED,MAAM,mBAAmB,GAAG,CAC1B,SAAiB,EACjB,MAAoB,EACpB,SAAuB,EACR,EAAE;IACjB,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;IACxC,IAAI,MAA0C,CAAA;IAC9C,MAAM,YAAY,GAAG,GAAS,EAAE;QAC9B,IAAI,MAAM,KAAK,SAAS;YAAE,OAAM;QAChC,MAAM,GAAG,UAAU,CAAA;QACnB,UAAU,CAAC,KAAK,EAAE,CAAA;IACpB,CAAC,CAAA;IACD,KAAK,MAAM,MAAM,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC;QACzC,IAAI,MAAM,EAAE,OAAO;YAAE,YAAY,EAAE,CAAA;;YAC9B,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IACtE,CAAC;IACD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;QAC9B,IAAI,MAAM,KAAK,SAAS;YAAE,OAAM;QAChC,MAAM,GAAG,SAAS,CAAA;QAClB,UAAU,CAAC,KAAK,EAAE,CAAA;IACpB,CAAC,EAAE,SAAS,CAAC,CAAA;IACb,OAAO;QACL,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,WAAW,EAAE,GAAG,EAAE,CAAC,MAAM;QACzB,OAAO,EAAE,GAAG,EAAE;YACZ,YAAY,CAAC,OAAO,CAAC,CAAA;YACrB,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;YAClD,SAAS,EAAE,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;QACvD,CAAC;KACF,CAAA;AACH,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,KAAK,EAC1B,YAAoB,EACpB,MAAoB,EACpB,SAAuB,EACR,EAAE;IACjB,wBAAwB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC3C,IAAI,YAAY,IAAI,CAAC;QAAE,OAAM;IAC7B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1C,MAAM,MAAM,GAAG,GAAS,EAAE;YACxB,YAAY,CAAC,OAAO,CAAC,CAAA;YACrB,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YAC3C,SAAS,EAAE,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAChD,CAAC,CAAA;QACD,MAAM,KAAK,GAAG,GAAS,EAAE;YACvB,MAAM,EAAE,CAAA;YACR,MAAM,CAAC,YAAY,EAAE,CAAC,CAAA;QACxB,CAAC,CAAA;QACD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,MAAM,EAAE,CAAA;YACR,OAAO,EAAE,CAAA;QACX,CAAC,EAAE,YAAY,CAAC,CAAA;QAChB,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QACxD,SAAS,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IAC7D,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,OAAO,WAAW;IACb,QAAQ,CAAQ;IAChB,UAAU,CAAQ;IAClB,cAAc,CAAQ;IACtB,WAAW,CAAQ;IACnB,aAAa,CAAQ;IACrB,cAAc,CAAmC;IACjD,MAAM,CAAyB;IAC/B,gBAAgB,CAAc;IAC9B,SAAS,CAAiB;IAC1B,iBAAiB,CAAS;IAEnC,YAAY,OAA2B;QACrC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QACnD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,CAAA;QACnC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,aAAa,CAAA;QAC3C,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,UAAU,IAAI,CAAC,CAAA;QAC1C,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,YAAY,IAAI,GAAG,CAAA;QAChD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,aAAa,CAAA;QAC3C,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAA;QAC/C,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAA;QAC5C,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,IAAI,KAAK,CAAA;QAC1D,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS;YAAE,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAA;IAC5F,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAA2B,EAAE,MAAoB;QAC5D,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,EAAE,mBAAmB,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;IACnG,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,OAAwB,EAAE,MAAoB;QACtD,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;IAC3F,CAAC;IAED,KAAK,CAAC,UAAU,CACd,IAAY,EACZ,IAAa,EACb,OAAe,EACf,MAAoB;QAEpB,MAAM,QAAQ,GAAG,KAAK,EAAE,QAAkB,EAAc,EAAE;YACxD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,gBAAgB,CAAC,QAAQ,QAAQ,CAAC,MAAM,EAAE,EAAE;oBACpD,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,SAAS,EAAE,IAAI,CAAC,iBAAiB;2BAC5B,QAAQ,CAAC,MAAM,KAAK,GAAG;2BACvB,QAAQ,CAAC,MAAM,KAAK,GAAG;2BACvB,QAAQ,CAAC,MAAM,IAAI,GAAG;iBAC5B,CAAC,CAAA;YACJ,CAAC;YACD,IAAI,CAAC;gBACH,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAO,CAAA;YACnC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,gBAAgB,CAAC,6BAA6B,EAAE;oBACxD,IAAI,EAAE,UAAU;oBAChB,SAAS,EAAE,IAAI,CAAC,iBAAiB;oBACjC,KAAK;iBACN,CAAC,CAAA;YACJ,CAAC;QACH,CAAC,CAAA;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;IAC7D,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,IAAY,EACZ,IAAa,EACb,KAAyD,EACzD,OAAe,EACf,YAA0B;QAE1B,wBAAwB,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAC7D,IAAI,MAA0B,CAAA;QAC9B,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,gBAAgB,CAAC,oCAAoC,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAA;QACjG,CAAC;QACD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvD,MAAM,IAAI,gBAAgB,CAAC,iCAAiC,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAA;QACvF,CAAC;QAED,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,IAAI,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC;gBACH,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA;YAClE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,KAAK,GAAG,KAAK,YAAY,gBAAgB;oBAC7C,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,IAAI,gBAAgB,CAAC,sBAAsB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;gBAC7F,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS;uBAC5B,CAAC,IAAI,CAAC,iBAAiB,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;gBACxF,IAAI,CAAC,SAAS,IAAI,OAAO,IAAI,OAAO;oBAAE,MAAM,KAAK,CAAA;gBACjD,MAAM,cAAc,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;YAC/F,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CACT,IAAY,EACZ,IAAa,EACb,MAAc,EACd,KAAsD,EACtD,YAA0B;QAE1B,wBAAwB,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAC7D,MAAM,aAAa,GAAG,mBAAmB,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAC/F,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,EAAE,EAAE;gBAC5D,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,aAAa,EAAE,SAAS,MAAM,EAAE,EAAE;gBACjF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAC1B,QAAQ,EAAE,IAAI,CAAC,SAAS;gBACxB,MAAM,EAAE,aAAa,CAAC,MAAM;aAC7B,CAAC,CAAA;YACF,OAAO,MAAM,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,aAAa,CAAC,WAAW,EAAE,KAAK,UAAU;gBAAE,MAAM,YAAY,EAAE,CAAA;YACpE,IAAI,aAAa,CAAC,WAAW,EAAE,KAAK,SAAS,EAAE,CAAC;gBAC9C,MAAM,IAAI,gBAAgB,CAAC,yBAAyB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;YACpG,CAAC;YACD,IAAI,KAAK,YAAY,gBAAgB;gBAAE,MAAM,KAAK,CAAA;YAClD,MAAM,IAAI,gBAAgB,CAAC,8BAA8B,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QACzG,CAAC;gBAAS,CAAC;YACT,aAAa,CAAC,OAAO,EAAE,CAAA;QACzB,CAAC;IACH,CAAC;CACF"}
@@ -1,14 +0,0 @@
1
- export type MemosClientErrorKind = 'credential' | 'http' | 'business' | 'response' | 'network' | 'timeout' | 'aborted';
2
- export interface MemosClientErrorOptions {
3
- kind: MemosClientErrorKind;
4
- retryable?: boolean;
5
- status?: number;
6
- cause?: unknown;
7
- }
8
- export declare class MemosClientError extends Error {
9
- readonly kind: MemosClientErrorKind;
10
- readonly retryable: boolean;
11
- readonly status?: number;
12
- constructor(message: string, options: MemosClientErrorOptions);
13
- }
14
- //# sourceMappingURL=memos-errors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memos-errors.d.ts","sourceRoot":"","sources":["../src/memos-errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAC5B,YAAY,GACZ,MAAM,GACN,UAAU,GACV,UAAU,GACV,SAAS,GACT,SAAS,GACT,SAAS,CAAA;AAEb,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,oBAAoB,CAAA;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AACD,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAA;IACnC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;gBAEZ,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB;CAO9D"}
@@ -1,14 +0,0 @@
1
- export class MemosClientError extends Error {
2
- kind;
3
- retryable;
4
- status;
5
- constructor(message, options) {
6
- super(message, options.cause === undefined ? undefined : { cause: options.cause });
7
- this.name = 'MemosClientError';
8
- this.kind = options.kind;
9
- this.retryable = options.retryable ?? false;
10
- if (options.status !== undefined)
11
- this.status = options.status;
12
- }
13
- }
14
- //# sourceMappingURL=memos-errors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memos-errors.js","sourceRoot":"","sources":["../src/memos-errors.ts"],"names":[],"mappings":"AAeA,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAChC,IAAI,CAAsB;IAC1B,SAAS,CAAS;IAClB,MAAM,CAAS;IAExB,YAAY,OAAe,EAAE,OAAgC;QAC3D,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;QAClF,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAA;QAC9B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;QACxB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAA;QAC3C,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAChE,CAAC;CACF"}
@@ -1,4 +0,0 @@
1
- import type { MemosAddData, MemosSearchData } from './types.js';
2
- export declare const parseSearchResponse: (response: Response, apiKey: string) => Promise<MemosSearchData>;
3
- export declare const parseAddResponse: (response: Response, apiKey: string) => Promise<MemosAddData>;
4
- //# sourceMappingURL=memos-response.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memos-response.d.ts","sourceRoot":"","sources":["../src/memos-response.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAgB,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAoF7E,eAAO,MAAM,mBAAmB,GAAU,UAAU,QAAQ,EAAE,QAAQ,MAAM,KAAG,OAAO,CAAC,eAAe,CAIrG,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAU,UAAU,QAAQ,EAAE,QAAQ,MAAM,KAAG,OAAO,CAAC,YAAY,CAI/F,CAAA"}
@@ -1,84 +0,0 @@
1
- import { MemosClientError } from './memos-errors.js';
2
- const SUCCESS_CODES = new Set([0, '0', 200, '200']);
3
- const isRecord = (value) => (value !== null && typeof value === 'object' && !Array.isArray(value));
4
- const sanitizedMessage = (value, apiKey) => {
5
- if (typeof value !== 'string' || value.trim().length === 0)
6
- return undefined;
7
- const withoutControls = value.replace(/[\u0000-\u001f\u007f]/g, ' ').slice(0, 160);
8
- return withoutControls.split(apiKey).join('[redacted]');
9
- };
10
- const parseBody = async (response) => {
11
- const body = await response.text();
12
- try {
13
- return JSON.parse(body);
14
- }
15
- catch (cause) {
16
- throw new MemosClientError('MemOS returned invalid JSON', { kind: 'response', cause });
17
- }
18
- };
19
- const validateEnvelope = (value, apiKey, validateData) => {
20
- if (!isRecord(value)) {
21
- throw new MemosClientError('MemOS returned an invalid response envelope', { kind: 'response' });
22
- }
23
- if (!SUCCESS_CODES.has(value.code)) {
24
- const detail = sanitizedMessage(value.message, apiKey);
25
- throw new MemosClientError(`MemOS rejected the request${detail === undefined ? '' : `: ${detail}`}`, { kind: 'business' });
26
- }
27
- if (!validateData(value.data)) {
28
- throw new MemosClientError('MemOS returned an invalid data shape', { kind: 'response' });
29
- }
30
- return value.data;
31
- };
32
- const isRecordArray = (value) => (Array.isArray(value) && value.every(isRecord));
33
- const isSearchData = (value) => {
34
- if (!isRecord(value))
35
- return false;
36
- for (const key of [
37
- 'memory_detail_list',
38
- 'preference_detail_list',
39
- 'tool_memory_detail_list',
40
- ]) {
41
- if (value[key] !== undefined && !isRecordArray(value[key]))
42
- return false;
43
- }
44
- if (value.preference_note !== undefined && typeof value.preference_note !== 'string')
45
- return false;
46
- return true;
47
- };
48
- const isAddData = (value) => {
49
- if (!isRecord(value))
50
- return false;
51
- if (value.success !== undefined && typeof value.success !== 'boolean')
52
- return false;
53
- if (value.task_id !== undefined && typeof value.task_id !== 'string')
54
- return false;
55
- if (value.status !== undefined && typeof value.status !== 'string')
56
- return false;
57
- return true;
58
- };
59
- const httpError = async (response, apiKey) => {
60
- let detail;
61
- try {
62
- const value = await parseBody(response);
63
- if (isRecord(value))
64
- detail = sanitizedMessage(value.message, apiKey);
65
- }
66
- catch {
67
- // The HTTP status is sufficient when the error body is not JSON.
68
- }
69
- const retryable = response.status === 408 || response.status === 429 || response.status >= 500;
70
- throw new MemosClientError(`MemOS HTTP ${response.status}${detail === undefined ? '' : `: ${detail}`}`, { kind: 'http', status: response.status, retryable });
71
- };
72
- export const parseSearchResponse = async (response, apiKey) => {
73
- if (!response.ok)
74
- return httpError(response, apiKey);
75
- const envelope = await parseBody(response);
76
- return validateEnvelope(envelope, apiKey, isSearchData);
77
- };
78
- export const parseAddResponse = async (response, apiKey) => {
79
- if (!response.ok)
80
- return httpError(response, apiKey);
81
- const envelope = await parseBody(response);
82
- return validateEnvelope(envelope, apiKey, isAddData);
83
- };
84
- //# sourceMappingURL=memos-response.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memos-response.js","sourceRoot":"","sources":["../src/memos-response.ts"],"names":[],"mappings":"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"}
@@ -1,31 +0,0 @@
1
- import type { JsonObject, MemosAddRequest, MemosInfo, MemosMessage, MemosSearchRequest } from './types.js';
2
- export interface BuildMemosSearchRequestInput {
3
- userId: string;
4
- query: string;
5
- source: string;
6
- conversationId?: string;
7
- memoryLimitNumber: number;
8
- includePreference: boolean;
9
- preferenceLimitNumber: number;
10
- includeToolMemory: boolean;
11
- toolMemoryLimitNumber: number;
12
- relativity: number;
13
- filter?: JsonObject;
14
- knowledgebaseIds?: readonly string[];
15
- }
16
- export declare const buildMemosSearchRequest: (input: BuildMemosSearchRequestInput) => MemosSearchRequest;
17
- export interface BuildMemosAddRequestInput {
18
- userId: string;
19
- conversationId: string;
20
- messages: readonly MemosMessage[];
21
- source: string;
22
- asyncMode: boolean;
23
- allowPublic: boolean;
24
- tags?: readonly string[];
25
- info?: MemosInfo;
26
- agentId?: string;
27
- appId?: string;
28
- allowKnowledgebaseIds?: readonly string[];
29
- }
30
- export declare const buildMemosAddRequest: (input: BuildMemosAddRequestInput) => MemosAddRequest;
31
- //# sourceMappingURL=payloads.d.ts.map