@multiplayer-app/agent 0.1.6 → 0.1.7
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/dist/config.js +2 -2
- package/dist/config.js.map +1 -1
- package/dist/protocol.d.ts +8 -4
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +1 -1
- package/dist/protocol.js.map +1 -1
- package/dist/research/filingramp-contract.d.ts +45 -0
- package/dist/research/filingramp-contract.d.ts.map +1 -0
- package/dist/research/filingramp-contract.js +277 -0
- package/dist/research/filingramp-contract.js.map +1 -0
- package/dist/research/filingramp-contract.test.d.ts +2 -0
- package/dist/research/filingramp-contract.test.d.ts.map +1 -0
- package/dist/research/filingramp-contract.test.js +76 -0
- package/dist/research/filingramp-contract.test.js.map +1 -0
- package/dist/research/filingramp-tools.d.ts.map +1 -1
- package/dist/research/filingramp-tools.js +159 -59
- package/dist/research/filingramp-tools.js.map +1 -1
- package/dist/research/filingramp-tools.test.d.ts +2 -0
- package/dist/research/filingramp-tools.test.d.ts.map +1 -0
- package/dist/research/filingramp-tools.test.js +99 -0
- package/dist/research/filingramp-tools.test.js.map +1 -0
- package/dist/research/prompt.d.ts +4 -0
- package/dist/research/prompt.d.ts.map +1 -1
- package/dist/research/prompt.js +15 -4
- package/dist/research/prompt.js.map +1 -1
- package/dist/research/scope.d.ts +22 -8
- package/dist/research/scope.d.ts.map +1 -1
- package/dist/research/scope.js +49 -15
- package/dist/research/scope.js.map +1 -1
- package/dist/research/scope.test.js +47 -6
- package/dist/research/scope.test.js.map +1 -1
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +44 -16
- package/dist/session.js.map +1 -1
- package/dist/tools/fs-tools.d.ts +1 -0
- package/dist/tools/fs-tools.d.ts.map +1 -1
- package/dist/tools/fs-tools.js +11 -2
- package/dist/tools/fs-tools.js.map +1 -1
- package/dist/tools/fs-tools.test.d.ts +2 -0
- package/dist/tools/fs-tools.test.d.ts.map +1 -0
- package/dist/tools/fs-tools.test.js +41 -0
- package/dist/tools/fs-tools.test.js.map +1 -0
- package/package.json +1 -1
|
@@ -15,6 +15,7 @@ const util_1 = require("util");
|
|
|
15
15
|
const ai_1 = require("ai");
|
|
16
16
|
const zod_1 = require("zod");
|
|
17
17
|
const filingramp_client_1 = require("./filingramp-client");
|
|
18
|
+
const filingramp_contract_1 = require("./filingramp-contract");
|
|
18
19
|
const scope_1 = require("./scope");
|
|
19
20
|
const execFileAsync = (0, util_1.promisify)(child_process_1.execFile);
|
|
20
21
|
const DEFAULT_FILING_FIELDS = [
|
|
@@ -30,16 +31,41 @@ const DEFAULT_FILING_FIELDS = [
|
|
|
30
31
|
'product',
|
|
31
32
|
'project',
|
|
32
33
|
];
|
|
34
|
+
/** Filing fields the v2 search accepts (FilingRamp's Filing shape); unknown names fail the whole call. */
|
|
35
|
+
const FILING_FIELDS = [
|
|
36
|
+
'_id', 'accountId', 'trackingNumber', 'customTrackingNumber', 'resourceId', 'state', 'statusId', 'status', 'filingType',
|
|
37
|
+
'businessType', 'typeOfInsurance', 'subTypeOfInsurance', 'dateSubmitted', 'serffDateLastModified', 'source', 'projectId',
|
|
38
|
+
'productId', 'product', 'project', 'companies', 'authors', 'reviewers', 'objections', 'dispositions', 'generalInformation',
|
|
39
|
+
'stateSpecifics', 'hasPreviousVersion', 'associatedFilings', 'createdAt', 'updatedAt',
|
|
40
|
+
];
|
|
33
41
|
const MAX_PAGE = 200;
|
|
34
42
|
const MAX_DOC_HITS = 100;
|
|
35
43
|
const MAX_HIGHLIGHTS = 3;
|
|
36
44
|
const MAX_INLINE_TEXT_CHARS = 4000;
|
|
37
|
-
|
|
45
|
+
// What the model may pass. The contract (filingramp-contract.ts) wraps single values, picks the
|
|
46
|
+
// operator a field accepts and rejects unknown fields before the request leaves the VM.
|
|
47
|
+
const filterInputSchema = zod_1.z.object({
|
|
38
48
|
field: zod_1.z.string().min(1).max(100),
|
|
39
|
-
comparisonOperator: zod_1.z
|
|
40
|
-
|
|
49
|
+
comparisonOperator: zod_1.z
|
|
50
|
+
.enum(['cn', 'in', 'eq', 'gt', 'gte', 'lt', 'lte', 'ex'])
|
|
51
|
+
.optional()
|
|
52
|
+
.describe('Omit to let the field decide: cn (contains) for names, lines and authors; in (exact) for codes; eq/gt/gte/lt/lte for dates; ex for hasObjection'),
|
|
53
|
+
value: zod_1.z
|
|
54
|
+
.union([zod_1.z.string(), zod_1.z.number(), zod_1.z.boolean(), zod_1.z.array(zod_1.z.union([zod_1.z.string(), zod_1.z.number()]))])
|
|
55
|
+
.describe('A string array for list fields (a bare string is wrapped), one date string for date fields, a boolean for hasObjection'),
|
|
56
|
+
});
|
|
57
|
+
const filingsFilterSchema = filterInputSchema.extend({
|
|
58
|
+
field: zod_1.z.string().min(1).max(100).describe('Filings filter (plural): states, typeOfInsurances, subTypeOfInsurances, filingTypes, statusIds, statuses, companies, authors, reviewers, productNames, projectNames, trackingNumbers, form.formNumbers, rate.ruleNumbers, dateSubmitted, createdAt, updatedAt, hasObjection. Singular record names are converted. Not a result field or groupBy.'),
|
|
41
59
|
});
|
|
42
60
|
const searchTypeSchema = zod_1.z.enum(['ACCOUNT', 'INDUSTRY']).optional().describe('Defaults to the session scope. INDUSTRY needs the industry-data entitlement.');
|
|
61
|
+
/** Joi-style message: `"body.fields[7]" must be one of [a, b, c, …]` → the accepted values. */
|
|
62
|
+
function allowedValuesFromError(error) {
|
|
63
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
64
|
+
const match = message.match(/must be one of \[([^\]]*)/);
|
|
65
|
+
if (!match)
|
|
66
|
+
return undefined;
|
|
67
|
+
return new Set(match[1].split(',').map((item) => item.trim()).filter((item) => item && item !== '…'));
|
|
68
|
+
}
|
|
43
69
|
function safeName(value) {
|
|
44
70
|
return value.replace(/[^A-Za-z0-9._-]+/g, '_').replace(/^_+|_+$/g, '').slice(0, 120) || 'item';
|
|
45
71
|
}
|
|
@@ -131,8 +157,12 @@ function createFilingRampTools(options) {
|
|
|
131
157
|
description: 'List filings matching filters (account filings by default). Lean rows: pass `fields` for exactly what you need. Page with lastItemId (sortKey "_id") until a page is shorter than limit. For counts or breakdowns use count_filings / summarize_filings instead — never page to count.',
|
|
132
158
|
inputSchema: zod_1.z.object({
|
|
133
159
|
text: zod_1.z.string().max(500).optional().describe('Free-text match over filing metadata'),
|
|
134
|
-
filters: zod_1.z.array(
|
|
135
|
-
fields: zod_1.z
|
|
160
|
+
filters: zod_1.z.array(filingsFilterSchema).max(30).optional(),
|
|
161
|
+
fields: zod_1.z
|
|
162
|
+
.array(zod_1.z.string().max(100))
|
|
163
|
+
.max(40)
|
|
164
|
+
.optional()
|
|
165
|
+
.describe(`Filing fields to return, from: ${FILING_FIELDS.join(', ')}. Default ${DEFAULT_FILING_FIELDS.join(', ')}`),
|
|
136
166
|
limit: zod_1.z.number().int().min(1).max(MAX_PAGE).optional(),
|
|
137
167
|
lastItemId: zod_1.z.string().optional(),
|
|
138
168
|
lastItemSortValue: zod_1.z.union([zod_1.z.string(), zod_1.z.number()]).optional(),
|
|
@@ -142,9 +172,9 @@ function createFilingRampTools(options) {
|
|
|
142
172
|
saveAs: zod_1.z.string().max(200).optional().describe('Also write the full page as JSON to this workspace path (e.g. data/filings/page-1.json)'),
|
|
143
173
|
}),
|
|
144
174
|
execute: async (input) => {
|
|
145
|
-
var _b, _c, _d, _e
|
|
175
|
+
var _b, _c, _d, _e;
|
|
146
176
|
const searchType = (0, scope_1.resolveSearchType)(scope, industryData, input.searchType);
|
|
147
|
-
const filters = (0, scope_1.scopeFilingsFilters)(scope, input.filters);
|
|
177
|
+
const filters = (0, scope_1.scopeFilingsFilters)(scope, (0, filingramp_contract_1.normalizeFilingsFilters)(input.filters, 'search'));
|
|
148
178
|
const fields = ((_b = input.fields) === null || _b === void 0 ? void 0 : _b.length) ? [...new Set(['_id', ...input.fields])] : DEFAULT_FILING_FIELDS;
|
|
149
179
|
const limit = (_c = input.limit) !== null && _c !== void 0 ? _c : 100;
|
|
150
180
|
let items;
|
|
@@ -158,20 +188,37 @@ function createFilingRampTools(options) {
|
|
|
158
188
|
items = asRecordList(payload);
|
|
159
189
|
}
|
|
160
190
|
else {
|
|
161
|
-
const
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
191
|
+
const requestPage = (fieldList) => {
|
|
192
|
+
var _b, _c;
|
|
193
|
+
return client.request('/v2/search/filings', {
|
|
194
|
+
method: 'POST',
|
|
195
|
+
body: {
|
|
196
|
+
text: input.text,
|
|
197
|
+
filters,
|
|
198
|
+
fields: fieldList,
|
|
199
|
+
limit,
|
|
200
|
+
lastItemId: input.lastItemId,
|
|
201
|
+
lastItemSortValue: input.lastItemSortValue,
|
|
202
|
+
sortKey: (_b = input.sortKey) !== null && _b !== void 0 ? _b : '_id',
|
|
203
|
+
sortDirection: (_c = input.sortDirection) !== null && _c !== void 0 ? _c : 1,
|
|
204
|
+
searchType,
|
|
205
|
+
},
|
|
206
|
+
});
|
|
207
|
+
};
|
|
208
|
+
let payload;
|
|
209
|
+
try {
|
|
210
|
+
payload = await requestPage(fields);
|
|
211
|
+
}
|
|
212
|
+
catch (error) {
|
|
213
|
+
// `"body.fields[7]" must be one of [...]`: drop what the API rejected and retry once.
|
|
214
|
+
const allowed = allowedValuesFromError(error);
|
|
215
|
+
if (!allowed)
|
|
216
|
+
throw error;
|
|
217
|
+
const kept = fields.filter((field) => allowed.has(field));
|
|
218
|
+
if (kept.length === fields.length)
|
|
219
|
+
throw error;
|
|
220
|
+
payload = await requestPage(kept.length ? kept : DEFAULT_FILING_FIELDS);
|
|
221
|
+
}
|
|
175
222
|
items = asRecordList(payload);
|
|
176
223
|
}
|
|
177
224
|
const saved = input.saveAs ? await writeWorkspaceFile(workspaceDir, input.saveAs, JSON.stringify(items, null, 2)) : undefined;
|
|
@@ -191,13 +238,13 @@ function createFilingRampTools(options) {
|
|
|
191
238
|
description: 'One total count of filings matching filters. For counts per state, line or status use summarize_filings.',
|
|
192
239
|
inputSchema: zod_1.z.object({
|
|
193
240
|
text: zod_1.z.string().max(500).optional(),
|
|
194
|
-
filters: zod_1.z.array(
|
|
241
|
+
filters: zod_1.z.array(filingsFilterSchema).max(30).optional(),
|
|
195
242
|
searchType: searchTypeSchema,
|
|
196
243
|
}),
|
|
197
244
|
execute: async (input) => {
|
|
198
245
|
var _b;
|
|
199
246
|
const searchType = (0, scope_1.resolveSearchType)(scope, industryData, input.searchType);
|
|
200
|
-
const filters = (0, scope_1.scopeFilingsFilters)(scope, input.filters);
|
|
247
|
+
const filters = (0, scope_1.scopeFilingsFilters)(scope, (0, filingramp_contract_1.normalizeFilingsFilters)(input.filters, 'count'));
|
|
201
248
|
const payload = await client.request('/v2/search/filings/count', {
|
|
202
249
|
method: 'POST',
|
|
203
250
|
body: { text: input.text, filters, searchType },
|
|
@@ -209,8 +256,8 @@ function createFilingRampTools(options) {
|
|
|
209
256
|
description: 'Counts and totals per group (state, filingType, statusId, typeOfInsurance, subTypeOfInsurance, company, submittedMonth, dispositionMonth, source, businessType). Use this to size a population before reading documents, and for rankings or trends. Never page search_filings to count.',
|
|
210
257
|
inputSchema: zod_1.z.object({
|
|
211
258
|
text: zod_1.z.string().max(500).optional(),
|
|
212
|
-
filters: zod_1.z.array(
|
|
213
|
-
groupBy: zod_1.z.array(zod_1.z.string().max(40)).max(4).optional(),
|
|
259
|
+
filters: zod_1.z.array(filingsFilterSchema).max(30).optional(),
|
|
260
|
+
groupBy: zod_1.z.array(zod_1.z.string().max(40)).max(4).optional().describe('Singular names: state, typeOfInsurance, subTypeOfInsurance, filingType, statusId, company, businessType, source, submittedMonth, dispositionMonth, createdMonth. Omit for one total row.'),
|
|
214
261
|
limit: zod_1.z.number().int().min(1).max(50000).optional(),
|
|
215
262
|
sortBy: zod_1.z.enum(['key', 'filings']).optional(),
|
|
216
263
|
searchType: searchTypeSchema,
|
|
@@ -219,10 +266,11 @@ function createFilingRampTools(options) {
|
|
|
219
266
|
execute: async (input) => {
|
|
220
267
|
var _b, _c;
|
|
221
268
|
const searchType = (0, scope_1.resolveSearchType)(scope, industryData, input.searchType);
|
|
222
|
-
const filters = (0, scope_1.scopeFilingsFilters)(scope, input.filters);
|
|
269
|
+
const filters = (0, scope_1.scopeFilingsFilters)(scope, (0, filingramp_contract_1.normalizeFilingsFilters)(input.filters, 'summary'));
|
|
270
|
+
const groupBy = (0, filingramp_contract_1.normalizeSummaryGroupBy)(input.groupBy);
|
|
223
271
|
const payload = await client.request('/v2/search/filings/summary', {
|
|
224
272
|
method: 'POST',
|
|
225
|
-
body: { text: input.text, filters, groupBy
|
|
273
|
+
body: { text: input.text, filters, groupBy, limit: input.limit, sortBy: input.sortBy, searchType },
|
|
226
274
|
});
|
|
227
275
|
const items = (_b = payload === null || payload === void 0 ? void 0 : payload.items) !== null && _b !== void 0 ? _b : [];
|
|
228
276
|
const saved = input.saveAs ? await writeWorkspaceFile(workspaceDir, input.saveAs, JSON.stringify(items, null, 2)) : undefined;
|
|
@@ -282,18 +330,69 @@ function createFilingRampTools(options) {
|
|
|
282
330
|
return { filing: out, saved };
|
|
283
331
|
},
|
|
284
332
|
});
|
|
333
|
+
// Document search matches typeOfInsurance exactly, while the scope holds names or codes
|
|
334
|
+
// ("Homeowners", "04.0"); the filings summary says which exact labels those stand for in this
|
|
335
|
+
// account. Resolved once per process.
|
|
336
|
+
let lineLabels;
|
|
337
|
+
const scopeLineLabels = (searchType) => {
|
|
338
|
+
var _b;
|
|
339
|
+
if (!((_b = scope === null || scope === void 0 ? void 0 : scope.lines) === null || _b === void 0 ? void 0 : _b.length))
|
|
340
|
+
return Promise.resolve({ lines: [], subLines: [] });
|
|
341
|
+
lineLabels !== null && lineLabels !== void 0 ? lineLabels : (lineLabels = client
|
|
342
|
+
.request('/v2/search/filings/summary', {
|
|
343
|
+
method: 'POST',
|
|
344
|
+
body: { filters: (0, scope_1.scopeFilingsFilters)(scope), groupBy: ['typeOfInsurance', 'subTypeOfInsurance'], limit: 1000, searchType },
|
|
345
|
+
})
|
|
346
|
+
.then((payload) => {
|
|
347
|
+
var _b;
|
|
348
|
+
const keys = ((_b = payload === null || payload === void 0 ? void 0 : payload.items) !== null && _b !== void 0 ? _b : []).map((row) => { var _b; return (_b = row.key) !== null && _b !== void 0 ? _b : {}; });
|
|
349
|
+
const labels = (field) => [...new Set(keys.map((key) => key[field]).filter((value) => typeof value === 'string' && value.length > 0))];
|
|
350
|
+
return { lines: labels('typeOfInsurance'), subLines: labels('subTypeOfInsurance') };
|
|
351
|
+
})
|
|
352
|
+
.catch((error) => {
|
|
353
|
+
lineLabels = undefined;
|
|
354
|
+
throw error;
|
|
355
|
+
}));
|
|
356
|
+
return lineLabels;
|
|
357
|
+
};
|
|
358
|
+
const requestDocuments = async (body) => {
|
|
359
|
+
try {
|
|
360
|
+
// ramp-web-api mounts the OpenSearch router at /content-search (POST /global).
|
|
361
|
+
const payload = await client.request('/v1/content-search/global', {
|
|
362
|
+
method: 'POST',
|
|
363
|
+
body,
|
|
364
|
+
timeoutMs: 120000,
|
|
365
|
+
});
|
|
366
|
+
return Array.isArray(payload) ? payload : asRecordList(payload);
|
|
367
|
+
}
|
|
368
|
+
catch (error) {
|
|
369
|
+
if (error instanceof filingramp_client_1.FilingRampHttpError && error.status === 403) {
|
|
370
|
+
throw new Error(`Document search is not enabled for this account (FilingRamp "searchV2" feature): ${error.message}. Report it in the findings; filing metadata tools still work.`);
|
|
371
|
+
}
|
|
372
|
+
if (error instanceof filingramp_client_1.FilingRampHttpError && error.status === 400 && /must be|is not a valid|not allowed|required|invalid/i.test(error.message)) {
|
|
373
|
+
throw new Error(`Document search rejected the request: ${error.message}. Fix the filter (the tool description lists the fields and operators) and call again.`);
|
|
374
|
+
}
|
|
375
|
+
// FilingRamp hides OpenSearch failures (e.g. a missing document index) behind a generic
|
|
376
|
+
// "An error occurred": rephrasing the query will not help, falling back will.
|
|
377
|
+
if (error instanceof filingramp_client_1.FilingRampHttpError && (error.status === 400 || error.status >= 500)) {
|
|
378
|
+
throw new Error(`Document search is unavailable (FilingRamp ${error.status}: ${error.message}). Do not retry it with other wording. ` +
|
|
379
|
+
'Find candidate filings with search_filings / summarize_filings, then read their documents with get_filing and download_attachment (extracted text lands in the workspace for grep). Note the gap in the findings.');
|
|
380
|
+
}
|
|
381
|
+
throw error;
|
|
382
|
+
}
|
|
383
|
+
};
|
|
285
384
|
const searchDocuments = (0, ai_1.tool)({
|
|
286
|
-
description: 'Full-text or semantic search INSIDE documents (extracted PDF text of forms, rate and supporting documents, objection letters, responses, library forms, circulars). This is how you find which filings contain a clause. Returns hits with highlights; set saveText=true to write each hit\'s full extracted text to data/text/<trackingNumber>/<name>.txt for grep and analysis — never read whole documents into the chat.',
|
|
385
|
+
description: 'Full-text or semantic search INSIDE documents (extracted PDF text of forms, rate and supporting documents, objection letters, responses, library forms and rates, circulars). This is how you find which filings contain a clause. Returns hits with highlights; set saveText=true to write each hit\'s full extracted text to data/text/<trackingNumber>/<name>.txt for grep and analysis — never read whole documents into the chat. Filters use OpenSearch\'s vocabulary: states, typeOfInsurance, subTypeOfInsurance, filingTypes, statuses, resourceTypes, productIds, projectIds take exact string arrays ("in"); authors, contacts, reviewers match a substring ("cn"); dateSubmitted, createdAt, updatedAt take one date (eq/gt/gte/lt/lte). The session scope is added for you. Library and circular indexes accept only their own fields (resourceTypes, formNumbers, editionDates, circularNumbers…), so neither the scope nor filing filters apply to them; the result reports what was not applied.',
|
|
287
386
|
inputSchema: zod_1.z.object({
|
|
288
387
|
query: zod_1.z.string().min(1).max(2000),
|
|
289
388
|
searchType: zod_1.z.enum(['KEYWORD', 'SEMANTIC', 'HYBRID']).optional().describe('KEYWORD for exact phrases (default), SEMANTIC for meaning, HYBRID for both'),
|
|
290
389
|
indexes: zod_1.z
|
|
291
|
-
.array(zod_1.z.enum(
|
|
390
|
+
.array(zod_1.z.enum(filingramp_contract_1.DOCUMENT_INDEXES))
|
|
292
391
|
.min(1)
|
|
293
392
|
.optional()
|
|
294
393
|
.describe('Which document collections; default ["filings"]'),
|
|
295
|
-
matchMode: zod_1.z.enum(['EXACT', 'ANY_WORD', 'PROXIMITY']).optional(),
|
|
296
|
-
filters: zod_1.z.array(
|
|
394
|
+
matchMode: zod_1.z.enum(['EXACT', 'ANY_WORD', 'PROXIMITY', 'PREFIX', 'FUZZY', 'BOOLEAN']).optional(),
|
|
395
|
+
filters: zod_1.z.array(filterInputSchema).max(20).optional().describe('See the tool description for fields and operators'),
|
|
297
396
|
scope: zod_1.z.enum(['ACCOUNT', 'INDUSTRY']).optional(),
|
|
298
397
|
limit: zod_1.z.number().int().min(1).max(1000).optional(),
|
|
299
398
|
saveText: zod_1.z.boolean().optional(),
|
|
@@ -302,35 +401,36 @@ function createFilingRampTools(options) {
|
|
|
302
401
|
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
|
|
303
402
|
const searchType = (_b = input.searchType) !== null && _b !== void 0 ? _b : 'KEYWORD';
|
|
304
403
|
const suffix = searchType === 'KEYWORD' ? 'keyword_index' : 'semantic_index';
|
|
305
|
-
const
|
|
404
|
+
const matchMode = (_c = input.matchMode) !== null && _c !== void 0 ? _c : (searchType === 'KEYWORD' ? 'EXACT' : 'ANY_WORD');
|
|
306
405
|
const scopeValue = (0, scope_1.resolveSearchType)(scope, industryData, input.scope);
|
|
307
|
-
const
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
limit: (_e = input.limit) !== null && _e !== void 0 ? _e : 50,
|
|
320
|
-
filters,
|
|
321
|
-
},
|
|
322
|
-
timeoutMs: 120000,
|
|
323
|
-
});
|
|
324
|
-
}
|
|
325
|
-
catch (error) {
|
|
326
|
-
if (error instanceof filingramp_client_1.FilingRampHttpError && error.status === 403) {
|
|
327
|
-
throw new Error(`Document search is not enabled for this account (FilingRamp "searchV2" feature): ${error.message}. Report it in the findings; filing metadata tools still work.`);
|
|
406
|
+
const labels = await scopeLineLabels(scopeValue);
|
|
407
|
+
const requests = [];
|
|
408
|
+
const hits = [];
|
|
409
|
+
// One request per index group: each group has its own filter vocabulary, and one filter
|
|
410
|
+
// outside it fails the whole request.
|
|
411
|
+
for (const group of (0, filingramp_contract_1.documentIndexGroups)((_d = input.indexes) !== null && _d !== void 0 ? _d : ['filings'])) {
|
|
412
|
+
const own = (0, filingramp_contract_1.normalizeDocumentFilters)(input.filters, group);
|
|
413
|
+
const scoped = (0, scope_1.scopeDocumentFilters)(scope, own.filters, group.fields, labels);
|
|
414
|
+
const entry = { indexes: group.indexes, filters: scoped.filters, unscoped: scoped.unscoped, ignoredFilters: own.ignored };
|
|
415
|
+
if (scoped.emptyByLines) {
|
|
416
|
+
requests.push({ ...entry, skipped: "no filing in scope carries the scope's lines, so no document in these indexes can match" });
|
|
417
|
+
continue;
|
|
328
418
|
}
|
|
329
|
-
|
|
419
|
+
const payload = await requestDocuments({
|
|
420
|
+
searchType,
|
|
421
|
+
searchText: input.query,
|
|
422
|
+
matchMode,
|
|
423
|
+
indexNames: group.indexes.map((index) => `${index}_${suffix}`),
|
|
424
|
+
scope: scopeValue,
|
|
425
|
+
limit: (_e = input.limit) !== null && _e !== void 0 ? _e : 50,
|
|
426
|
+
filters: scoped.filters,
|
|
427
|
+
});
|
|
428
|
+
hits.push(...payload);
|
|
429
|
+
requests.push(entry);
|
|
330
430
|
}
|
|
331
|
-
|
|
431
|
+
hits.sort((a, b) => { var _b, _c; return Number((_b = b._score) !== null && _b !== void 0 ? _b : 0) - Number((_c = a._score) !== null && _c !== void 0 ? _c : 0); });
|
|
332
432
|
const results = [];
|
|
333
|
-
for (const hit of
|
|
433
|
+
for (const hit of hits.slice(0, MAX_DOC_HITS)) {
|
|
334
434
|
const source = ((_f = hit._source) !== null && _f !== void 0 ? _f : {});
|
|
335
435
|
const highlight = ((_g = hit.highlight) !== null && _g !== void 0 ? _g : {});
|
|
336
436
|
const fragments = Object.values(highlight).flat().slice(0, MAX_HIGHLIGHTS);
|
|
@@ -359,7 +459,7 @@ function createFilingRampTools(options) {
|
|
|
359
459
|
highlights: fragments.map((fragment) => fragment.replace(/<\/?em>/g, '**').slice(0, 300)),
|
|
360
460
|
});
|
|
361
461
|
}
|
|
362
|
-
return { hits: results, total:
|
|
462
|
+
return { hits: results, total: hits.length, truncated: hits.length > MAX_DOC_HITS, requests };
|
|
363
463
|
},
|
|
364
464
|
});
|
|
365
465
|
const downloadAttachment = (0, ai_1.tool)({
|
|
@@ -401,7 +501,7 @@ function createFilingRampTools(options) {
|
|
|
401
501
|
description: 'Objection letters on account filings, open or closed, with their respond-by dates. Account data only.',
|
|
402
502
|
inputSchema: zod_1.z.object({
|
|
403
503
|
type: zod_1.z.enum(['OPEN', 'CLOSED']),
|
|
404
|
-
filters: zod_1.z.array(
|
|
504
|
+
filters: zod_1.z.array(filingsFilterSchema).max(20).optional(),
|
|
405
505
|
limit: zod_1.z.number().int().min(1).max(MAX_PAGE).optional(),
|
|
406
506
|
offset: zod_1.z.number().int().min(0).optional(),
|
|
407
507
|
sortKey: zod_1.z.enum(['filingType', 'objection.letterDate', 'objection.respondByDate']).optional(),
|
|
@@ -409,7 +509,7 @@ function createFilingRampTools(options) {
|
|
|
409
509
|
}),
|
|
410
510
|
execute: async (input) => {
|
|
411
511
|
var _b, _c, _d, _e, _f;
|
|
412
|
-
const filters = (0, scope_1.scopeFilingsFilters)(scope, input.filters);
|
|
512
|
+
const filters = (0, scope_1.scopeFilingsFilters)(scope, (0, filingramp_contract_1.normalizeFilingsFilters)(input.filters, 'objections'));
|
|
413
513
|
const payload = await client.request('/v2/search/filings/objections', {
|
|
414
514
|
method: 'POST',
|
|
415
515
|
query: { type: input.type },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filingramp-tools.js","sourceRoot":"","sources":["../../src/research/filingramp-tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"filingramp-tools.js","sourceRoot":"","sources":["../../src/research/filingramp-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filingramp-tools.test.d.ts","sourceRoot":"","sources":["../../src/research/filingramp-tools.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const strict_1 = __importDefault(require("node:assert/strict"));
|
|
7
|
+
const node_test_1 = require("node:test");
|
|
8
|
+
const filingramp_client_1 = require("./filingramp-client");
|
|
9
|
+
const filingramp_tools_1 = require("./filingramp-tools");
|
|
10
|
+
function tools() {
|
|
11
|
+
return (0, filingramp_tools_1.createFilingRampTools)({
|
|
12
|
+
client: new filingramp_client_1.FilingRampClient({ baseUrl: 'https://example.test', authToken: 'test', industryData: false }),
|
|
13
|
+
workspaceDir: '/unused',
|
|
14
|
+
scope: { states: ['TX', 'AZ'], lines: ['04.0'] },
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
(0, node_test_1.describe)('research filing requests', () => {
|
|
18
|
+
for (const name of ['count_filings', 'summarize_filings']) {
|
|
19
|
+
(0, node_test_1.it)(`${name} sends plural filters and keeps singular summary groups`, async (t) => {
|
|
20
|
+
let body;
|
|
21
|
+
t.mock.method(globalThis, 'fetch', async (_url, init) => {
|
|
22
|
+
body = JSON.parse(String(init.body));
|
|
23
|
+
return Response.json(name === 'count_filings' ? { count: 12 } : { items: [{ key: { typeOfInsurance: '04.0' }, filings: 12 }] });
|
|
24
|
+
});
|
|
25
|
+
const result = await tools()[name].execute({
|
|
26
|
+
filters: [
|
|
27
|
+
{ field: 'state', comparisonOperator: 'in', value: ['TX', 'AZ'] },
|
|
28
|
+
{ field: 'typeOfInsurance', comparisonOperator: 'cn', value: ['04.0'] },
|
|
29
|
+
],
|
|
30
|
+
...(name === 'summarize_filings' ? { groupBy: ['typeOfInsurance'] } : {}),
|
|
31
|
+
}, { toolCallId: 'test', messages: [] });
|
|
32
|
+
strict_1.default.deepEqual(body === null || body === void 0 ? void 0 : body.filters, [
|
|
33
|
+
{ field: 'states', comparisonOperator: 'in', value: ['TX', 'AZ'] },
|
|
34
|
+
{ field: 'typeOfInsurances', comparisonOperator: 'cn', value: ['04.0'] },
|
|
35
|
+
]);
|
|
36
|
+
if (name === 'summarize_filings')
|
|
37
|
+
strict_1.default.deepEqual(body === null || body === void 0 ? void 0 : body.groupBy, ['typeOfInsurance']);
|
|
38
|
+
strict_1.default.ok(result);
|
|
39
|
+
});
|
|
40
|
+
(0, node_test_1.it)(`${name} propagates validation failure instead of returning zero`, async (t) => {
|
|
41
|
+
t.mock.method(globalThis, 'fetch', async () => Response.json({ message: 'Invalid filter field' }, { status: 400 }));
|
|
42
|
+
await strict_1.default.rejects(async () => tools()[name].execute({}, { toolCallId: 'test', messages: [] }), (error) => error instanceof filingramp_client_1.FilingRampHttpError && error.status === 400);
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
(0, node_test_1.it)('search_documents sends one scoped request per index group with the exact line labels', async (t) => {
|
|
46
|
+
const calls = [];
|
|
47
|
+
t.mock.method(globalThis, 'fetch', async (url, init) => {
|
|
48
|
+
const body = JSON.parse(String(init.body));
|
|
49
|
+
calls.push({ url: String(url), body });
|
|
50
|
+
if (String(url).endsWith('/v2/search/filings/summary')) {
|
|
51
|
+
return Response.json({ items: [{ key: { typeOfInsurance: '04.0 Homeowners', subTypeOfInsurance: '04.0000 Homeowners Sub-type' }, filings: 3 }] });
|
|
52
|
+
}
|
|
53
|
+
return Response.json([{ _id: `${body.indexNames[0]}-hit`, _index: body.indexNames[0], _score: body.indexNames[0].startsWith('library') ? 2 : 1, _source: { trackingNumber: 'TRK-1', name: 'HO 3' } }]);
|
|
54
|
+
});
|
|
55
|
+
const result = (await tools().search_documents.execute({ query: 'water shut-off valve', indexes: ['filings', 'library_forms'], filters: [{ field: 'filingType', value: 'Form' }] }, { toolCallId: 'test', messages: [] }));
|
|
56
|
+
const searches = calls.filter((call) => call.url.endsWith('/v1/content-search/global'));
|
|
57
|
+
strict_1.default.equal(searches.length, 2);
|
|
58
|
+
strict_1.default.deepEqual(searches[0].body.indexNames, ['filings_keyword_index']);
|
|
59
|
+
strict_1.default.deepEqual(searches[0].body.filters, [
|
|
60
|
+
{ field: 'states', comparisonOperator: 'in', value: ['TX', 'AZ'] },
|
|
61
|
+
{ field: 'typeOfInsurance', comparisonOperator: 'in', value: ['04.0 Homeowners'] },
|
|
62
|
+
{ field: 'filingTypes', comparisonOperator: 'in', value: ['Form'] },
|
|
63
|
+
]);
|
|
64
|
+
strict_1.default.deepEqual(searches[1].body.indexNames, ['library_forms_keyword_index']);
|
|
65
|
+
strict_1.default.deepEqual(searches[1].body.filters, []);
|
|
66
|
+
strict_1.default.deepEqual(result.requests[1].unscoped, ['states', 'lines']);
|
|
67
|
+
strict_1.default.deepEqual(result.requests[1].ignoredFilters, ['filingType']);
|
|
68
|
+
strict_1.default.deepEqual(result.hits.map((hit) => hit.id), ['library_forms_keyword_index-hit', 'filings_keyword_index-hit']);
|
|
69
|
+
});
|
|
70
|
+
(0, node_test_1.it)('search_documents skips filing indexes when no filing in scope carries the scope lines', async (t) => {
|
|
71
|
+
var _a;
|
|
72
|
+
const urls = [];
|
|
73
|
+
t.mock.method(globalThis, 'fetch', async (url) => {
|
|
74
|
+
urls.push(String(url));
|
|
75
|
+
return Response.json({ items: [] });
|
|
76
|
+
});
|
|
77
|
+
const result = (await tools().search_documents.execute({ query: 'leak detection' }, { toolCallId: 'test', messages: [] }));
|
|
78
|
+
strict_1.default.deepEqual(result.hits, []);
|
|
79
|
+
strict_1.default.match((_a = result.requests[0].skipped) !== null && _a !== void 0 ? _a : '', /no filing in scope/);
|
|
80
|
+
strict_1.default.ok(!urls.some((url) => url.endsWith('/v1/content-search/global')));
|
|
81
|
+
});
|
|
82
|
+
(0, node_test_1.it)('search_documents reports a validation failure as a fix, not an outage', async (t) => {
|
|
83
|
+
t.mock.method(globalThis, 'fetch', async (url) => {
|
|
84
|
+
if (String(url).endsWith('/v2/search/filings/summary'))
|
|
85
|
+
return Response.json({ items: [{ key: { typeOfInsurance: '04.0 Homeowners' }, filings: 1 }] });
|
|
86
|
+
return Response.json({ message: '"body.filters[0].field" must be [resourceTypes]' }, { status: 400 });
|
|
87
|
+
});
|
|
88
|
+
await strict_1.default.rejects(async () => tools().search_documents.execute({ query: 'x' }, { toolCallId: 'test', messages: [] }), /Document search rejected the request: .*must be \[resourceTypes\].*Fix the filter/s);
|
|
89
|
+
});
|
|
90
|
+
(0, node_test_1.it)('search_documents turns an opaque FilingRamp failure into a fallback instruction', async (t) => {
|
|
91
|
+
t.mock.method(globalThis, 'fetch', async (url) => {
|
|
92
|
+
if (String(url).endsWith('/v2/search/filings/summary'))
|
|
93
|
+
return Response.json({ items: [{ key: { typeOfInsurance: '04.0 Homeowners' }, filings: 1 }] });
|
|
94
|
+
return Response.json({ message: 'An error occurred. We are looking into it.' }, { status: 400 });
|
|
95
|
+
});
|
|
96
|
+
await strict_1.default.rejects(async () => tools().search_documents.execute({ query: 'water shut-off valve' }, { toolCallId: 'test', messages: [] }), /Document search is unavailable \(FilingRamp 400: .*Do not retry.*get_filing and download_attachment/s);
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
//# sourceMappingURL=filingramp-tools.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filingramp-tools.test.js","sourceRoot":"","sources":["../../src/research/filingramp-tools.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,9 +5,13 @@ export declare const RESEARCH_OUTPUT_FILES: {
|
|
|
5
5
|
readonly evidence: "research/evidence.json";
|
|
6
6
|
readonly notes: "research/notes.md";
|
|
7
7
|
};
|
|
8
|
+
/** Directories the research profile guarantees exist in the workspace before the first turn. */
|
|
9
|
+
export declare const RESEARCH_WORKSPACE_DIRS: readonly ["research", "data", "data/text"];
|
|
8
10
|
export declare function buildResearchSystemPrompt(options: {
|
|
9
11
|
scope?: ResearchScope;
|
|
10
12
|
industryData: boolean;
|
|
11
13
|
tokenBudget?: number;
|
|
14
|
+
/** True when the workspace (files or conversation) was restored from a previous run of this session. */
|
|
15
|
+
restored?: boolean;
|
|
12
16
|
}): string;
|
|
13
17
|
//# sourceMappingURL=prompt.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/research/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAG9C,eAAO,MAAM,qBAAqB;;;;;CAKxB,CAAA;AAEV,wBAAgB,yBAAyB,CAAC,OAAO,EAAE;
|
|
1
|
+
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/research/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAG9C,eAAO,MAAM,qBAAqB;;;;;CAKxB,CAAA;AAEV,gGAAgG;AAChG,eAAO,MAAM,uBAAuB,4CAA6C,CAAA;AAEjF,wBAAgB,yBAAyB,CAAC,OAAO,EAAE;IACjD,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB,YAAY,EAAE,OAAO,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,wGAAwG;IACxG,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,GAAG,MAAM,CAuCT"}
|