@multiplayer-app/agent 0.1.10 → 0.1.12
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/agent/model-failure.d.ts +10 -0
- package/dist/agent/model-failure.d.ts.map +1 -0
- package/dist/agent/model-failure.js +50 -0
- package/dist/agent/model-failure.js.map +1 -0
- package/dist/agent/profiles/research.d.ts.map +1 -1
- package/dist/agent/profiles/research.js +21 -11
- package/dist/agent/profiles/research.js.map +1 -1
- package/dist/agent/progress-reminder.test.d.ts +2 -0
- package/dist/agent/progress-reminder.test.d.ts.map +1 -0
- package/dist/agent/progress-reminder.test.js +20 -0
- package/dist/agent/progress-reminder.test.js.map +1 -0
- package/dist/agent/turn-runner.d.ts +18 -1
- package/dist/agent/turn-runner.d.ts.map +1 -1
- package/dist/agent/turn-runner.js +60 -7
- package/dist/agent/turn-runner.js.map +1 -1
- package/dist/context-pruning.d.ts +13 -0
- package/dist/context-pruning.d.ts.map +1 -0
- package/dist/context-pruning.js +61 -0
- package/dist/context-pruning.js.map +1 -0
- package/dist/context-pruning.test.d.ts +2 -0
- package/dist/context-pruning.test.d.ts.map +1 -0
- package/dist/context-pruning.test.js +48 -0
- package/dist/context-pruning.test.js.map +1 -0
- package/dist/models/resolve-model.d.ts.map +1 -1
- package/dist/models/resolve-model.js +3 -1
- package/dist/models/resolve-model.js.map +1 -1
- package/dist/models/usage.d.ts +4 -0
- package/dist/models/usage.d.ts.map +1 -1
- package/dist/models/usage.js +8 -2
- package/dist/models/usage.js.map +1 -1
- package/dist/research/extract-texts.d.ts +41 -0
- package/dist/research/extract-texts.d.ts.map +1 -0
- package/dist/research/extract-texts.js +239 -0
- package/dist/research/extract-texts.js.map +1 -0
- package/dist/research/extract-texts.test.d.ts +2 -0
- package/dist/research/extract-texts.test.d.ts.map +1 -0
- package/dist/research/extract-texts.test.js +120 -0
- package/dist/research/extract-texts.test.js.map +1 -0
- package/dist/research/extraction-tool.d.ts +1 -1
- package/dist/research/extraction-tool.d.ts.map +1 -1
- package/dist/research/extraction-tool.js +24 -50
- package/dist/research/extraction-tool.js.map +1 -1
- package/dist/research/extraction-tool.test.js +2 -0
- package/dist/research/extraction-tool.test.js.map +1 -1
- package/dist/research/filingramp/attachment-tools.d.ts.map +1 -1
- package/dist/research/filingramp/attachment-tools.js +122 -23
- package/dist/research/filingramp/attachment-tools.js.map +1 -1
- package/dist/research/filingramp/document-search-tool.d.ts.map +1 -1
- package/dist/research/filingramp/document-search-tool.js +88 -30
- package/dist/research/filingramp/document-search-tool.js.map +1 -1
- package/dist/research/filingramp/filing-detail-tool.d.ts +4 -0
- package/dist/research/filingramp/filing-detail-tool.d.ts.map +1 -1
- package/dist/research/filingramp/filing-detail-tool.js +57 -10
- package/dist/research/filingramp/filing-detail-tool.js.map +1 -1
- package/dist/research/filingramp/shared.d.ts +16 -0
- package/dist/research/filingramp/shared.d.ts.map +1 -1
- package/dist/research/filingramp/shared.js +74 -2
- package/dist/research/filingramp/shared.js.map +1 -1
- package/dist/research/filingramp-contract.d.ts.map +1 -1
- package/dist/research/filingramp-contract.js +8 -2
- package/dist/research/filingramp-contract.js.map +1 -1
- package/dist/research/filingramp-tools.d.ts +1 -0
- package/dist/research/filingramp-tools.d.ts.map +1 -1
- package/dist/research/filingramp-tools.js +5 -0
- package/dist/research/filingramp-tools.js.map +1 -1
- package/dist/research/filingramp-tools.test.js +93 -0
- package/dist/research/filingramp-tools.test.js.map +1 -1
- package/dist/research/prompt.d.ts.map +1 -1
- package/dist/research/prompt.js +16 -7
- package/dist/research/prompt.js.map +1 -1
- package/dist/runtime/config.d.ts.map +1 -1
- package/dist/runtime/config.js +6 -5
- package/dist/runtime/config.js.map +1 -1
- package/dist/runtime/lambda-microvm.js +73 -25
- package/dist/runtime/lambda-microvm.js.map +1 -1
- package/dist/runtime/microvm-bootstrap.d.ts +18 -0
- package/dist/runtime/microvm-bootstrap.d.ts.map +1 -0
- package/dist/runtime/microvm-bootstrap.js +77 -0
- package/dist/runtime/microvm-bootstrap.js.map +1 -0
- package/dist/runtime/microvm-bootstrap.test.d.ts +2 -0
- package/dist/runtime/microvm-bootstrap.test.d.ts.map +1 -0
- package/dist/runtime/microvm-bootstrap.test.js +50 -0
- package/dist/runtime/microvm-bootstrap.test.js.map +1 -0
- package/dist/session/runtime.d.ts +8 -0
- package/dist/session/runtime.d.ts.map +1 -1
- package/dist/session/runtime.js +49 -8
- package/dist/session/runtime.js.map +1 -1
- package/dist/tool-call-repair.d.ts +11 -0
- package/dist/tool-call-repair.d.ts.map +1 -0
- package/dist/tool-call-repair.js +91 -0
- package/dist/tool-call-repair.js.map +1 -0
- package/dist/tool-call-repair.test.d.ts +2 -0
- package/dist/tool-call-repair.test.d.ts.map +1 -0
- package/dist/tool-call-repair.test.js +50 -0
- package/dist/tool-call-repair.test.js.map +1 -0
- package/dist/tools/exec-tools.d.ts +1 -0
- package/dist/tools/exec-tools.d.ts.map +1 -1
- package/dist/tools/exec-tools.js +23 -3
- package/dist/tools/exec-tools.js.map +1 -1
- package/dist/transport/protocol.d.ts +9 -4
- package/dist/transport/protocol.d.ts.map +1 -1
- package/dist/transport/protocol.js +6 -6
- package/dist/transport/protocol.js.map +1 -1
- package/dist/transport/protocol.test.js +1 -1
- package/dist/transport/protocol.test.js.map +1 -1
- package/package.json +1 -1
|
@@ -10,9 +10,12 @@ const node_path_1 = __importDefault(require("node:path"));
|
|
|
10
10
|
const node_util_1 = require("node:util");
|
|
11
11
|
const ai_1 = require("ai");
|
|
12
12
|
const zod_1 = require("zod");
|
|
13
|
+
const filing_detail_tool_1 = require("./filing-detail-tool");
|
|
13
14
|
const shared_1 = require("./shared");
|
|
14
15
|
const execFileAsync = (0, node_util_1.promisify)(node_child_process_1.execFile);
|
|
15
16
|
const MAX_INLINE_TEXT_CHARS = 4000;
|
|
17
|
+
const MAX_FETCH_ATTACHMENTS = 2000;
|
|
18
|
+
const FETCH_CONCURRENCY = 4;
|
|
16
19
|
/** PDF → text with whatever the image has (mupdf first, poppler second). Empty text = scanned or protected. */
|
|
17
20
|
async function extractPdfText(file, output) {
|
|
18
21
|
const attempts = [
|
|
@@ -32,9 +35,40 @@ async function extractPdfText(file, output) {
|
|
|
32
35
|
return 0;
|
|
33
36
|
}
|
|
34
37
|
function createAttachmentTools(options) {
|
|
35
|
-
const { client, workspaceDir } = options;
|
|
38
|
+
const { client, workspaceDir, onProgress } = options;
|
|
39
|
+
const resolveFilingId = (0, filing_detail_tool_1.createFilingIdResolver)(options);
|
|
40
|
+
/** One attachment to data/attachments/, PDF text to data/text/. With `reuse`, a file already on disk is not fetched again. */
|
|
41
|
+
const saveAttachment = async (input) => {
|
|
42
|
+
var _a, _b, _c;
|
|
43
|
+
const folder = (0, shared_1.safeName)((_a = input.trackingNumber) !== null && _a !== void 0 ? _a : 'misc');
|
|
44
|
+
const fileName = (0, shared_1.safeName)((_c = (_b = input.name) !== null && _b !== void 0 ? _b : input.key.split('/').pop()) !== null && _c !== void 0 ? _c : 'attachment');
|
|
45
|
+
const filePath = `data/attachments/${folder}/${fileName}`;
|
|
46
|
+
const absoluteFile = node_path_1.default.resolve(workspaceDir, filePath);
|
|
47
|
+
const isPdfName = /\.pdf$/i.test(fileName);
|
|
48
|
+
const textPathFor = () => `data/text/${folder}/${fileName.replace(/\.pdf$/i, '')}.txt`;
|
|
49
|
+
if (input.reuse && (await (0, shared_1.exists)(absoluteFile))) {
|
|
50
|
+
const bytes = (await node_fs_1.promises.stat(absoluteFile)).size;
|
|
51
|
+
const textFile = node_path_1.default.resolve(workspaceDir, textPathFor());
|
|
52
|
+
const textChars = (await (0, shared_1.exists)(textFile)) ? (await node_fs_1.promises.stat(textFile)).size : 0;
|
|
53
|
+
return { path: filePath, bytes, isPdf: isPdfName, textPath: textChars > 0 ? textPathFor() : undefined, textChars, reused: true };
|
|
54
|
+
}
|
|
55
|
+
const bytes = await client.downloadAttachment(input.key);
|
|
56
|
+
const written = await (0, shared_1.writeWorkspaceFile)(workspaceDir, filePath, bytes);
|
|
57
|
+
const isPdf = isPdfName || bytes.subarray(0, 4).toString() === '%PDF';
|
|
58
|
+
let textPath;
|
|
59
|
+
let textChars = 0;
|
|
60
|
+
if (isPdf && input.extractText !== false) {
|
|
61
|
+
textPath = textPathFor();
|
|
62
|
+
const absoluteText = node_path_1.default.resolve(workspaceDir, textPath);
|
|
63
|
+
await node_fs_1.promises.mkdir(node_path_1.default.dirname(absoluteText), { recursive: true });
|
|
64
|
+
textChars = await extractPdfText(absoluteFile, absoluteText);
|
|
65
|
+
if (textChars === 0)
|
|
66
|
+
textPath = undefined;
|
|
67
|
+
}
|
|
68
|
+
return { path: written.path, bytes: written.bytes, isPdf, textPath, textChars, reused: false };
|
|
69
|
+
};
|
|
36
70
|
const downloadAttachment = (0, ai_1.tool)({
|
|
37
|
-
description: 'Download
|
|
71
|
+
description: 'Download ONE attachment by key into data/attachments/<trackingNumber>/<name> and, for PDFs, extract its text to data/text/<trackingNumber>/<name>.txt. For more than a few documents use fetch_attachments instead. Returns paths and sizes, never the content.',
|
|
38
72
|
inputSchema: zod_1.z.object({
|
|
39
73
|
key: zod_1.z.string().min(1).max(2000),
|
|
40
74
|
trackingNumber: zod_1.z.string().max(100).optional(),
|
|
@@ -42,29 +76,94 @@ function createAttachmentTools(options) {
|
|
|
42
76
|
extractText: zod_1.z.boolean().optional().describe('default true for PDFs'),
|
|
43
77
|
}),
|
|
44
78
|
execute: async (input) => {
|
|
79
|
+
const saved = await saveAttachment(input);
|
|
80
|
+
return {
|
|
81
|
+
...saved,
|
|
82
|
+
note: saved.isPdf && saved.textChars === 0 ? 'No extractable text (scanned or protected PDF) — record it as unreadable in findings.' : undefined,
|
|
83
|
+
};
|
|
84
|
+
},
|
|
85
|
+
});
|
|
86
|
+
const fetchAttachments = (0, ai_1.tool)({
|
|
87
|
+
description: 'Download many attachments in one call, with PDF text extracted to data/text/<trackingNumber>/. Give either a manifest (JSONL rows with `key`, optional `trackingNumber` and `name` — get_filing writes one, and search hits saved with saveHits work too) or filingIds (their attachments are listed for you). Files already on disk are kept, so a repeated call resumes. Writes one row per attachment (path, textPath, textChars, readable, error) to outputManifest and returns only counts. This is the only way to read more than a handful of documents: never call download_attachment in a loop.',
|
|
88
|
+
inputSchema: zod_1.z.object({
|
|
89
|
+
manifest: zod_1.z.string().min(1).max(300).optional().describe('Workspace JSONL/JSON manifest of attachments'),
|
|
90
|
+
filingIds: zod_1.z.array(zod_1.z.string().min(1).max(100)).min(1).max(50).optional().describe('Filing _ids or tracking numbers whose attachments to fetch'),
|
|
91
|
+
sections: zod_1.z.array(zod_1.z.enum(['forms', 'rates', 'supportings', 'objections', 'dispositions'])).optional().describe('Only attachments in these filing sections'),
|
|
92
|
+
nameMatch: zod_1.z.string().max(200).optional().describe('Case-insensitive regex on the attachment name, e.g. "\\\\.pdf$" or "rule|manual"'),
|
|
93
|
+
limit: zod_1.z.number().int().min(1).max(MAX_FETCH_ATTACHMENTS).optional(),
|
|
94
|
+
outputManifest: zod_1.z.string().max(300).optional().describe('Default data/manifests/fetched-<n>.jsonl'),
|
|
95
|
+
}),
|
|
96
|
+
execute: async (input, { toolCallId }) => {
|
|
45
97
|
var _a, _b, _c;
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
textPath = undefined;
|
|
98
|
+
if (!input.manifest === !input.filingIds)
|
|
99
|
+
throw new Error('Pass exactly one of manifest or filingIds.');
|
|
100
|
+
let rows;
|
|
101
|
+
if (input.manifest) {
|
|
102
|
+
rows = await (0, shared_1.readManifest)(workspaceDir, input.manifest);
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
rows = [];
|
|
106
|
+
for (const id of (_a = input.filingIds) !== null && _a !== void 0 ? _a : []) {
|
|
107
|
+
const filingId = await resolveFilingId(id);
|
|
108
|
+
const filing = await client.request(`/v1/filings/${encodeURIComponent(filingId)}`);
|
|
109
|
+
for (const attachment of (0, filing_detail_tool_1.collectAttachments)(filing))
|
|
110
|
+
rows.push({ filingId, trackingNumber: filing.trackingNumber, ...attachment });
|
|
111
|
+
}
|
|
61
112
|
}
|
|
113
|
+
const pattern = input.nameMatch ? new RegExp(input.nameMatch, 'i') : undefined;
|
|
114
|
+
const selected = rows
|
|
115
|
+
.map((row) => {
|
|
116
|
+
var _a, _b, _c, _d, _e;
|
|
117
|
+
return ({
|
|
118
|
+
...row,
|
|
119
|
+
key: (_a = row.key) !== null && _a !== void 0 ? _a : row.attachmentKey,
|
|
120
|
+
name: (_b = row.name) !== null && _b !== void 0 ? _b : (typeof ((_c = row.key) !== null && _c !== void 0 ? _c : row.attachmentKey) === 'string' ? decodeURIComponent((_e = String((_d = row.key) !== null && _d !== void 0 ? _d : row.attachmentKey).split('/').pop()) !== null && _e !== void 0 ? _e : '') : undefined),
|
|
121
|
+
});
|
|
122
|
+
})
|
|
123
|
+
.filter((row) => typeof row.key === 'string' && row.key.length > 0)
|
|
124
|
+
.filter((row) => !input.sections || input.sections.includes(row.section))
|
|
125
|
+
.filter((row) => { var _a; return !pattern || pattern.test(String((_a = row.name) !== null && _a !== void 0 ? _a : '')); });
|
|
126
|
+
// The same document can be listed twice (two hits on one attachment, a manifest merged from searches).
|
|
127
|
+
const unique = [...new Map(selected.map((row) => [String(row.key), row])).values()];
|
|
128
|
+
const limit = (_b = input.limit) !== null && _b !== void 0 ? _b : MAX_FETCH_ATTACHMENTS;
|
|
129
|
+
const batch = unique.slice(0, limit);
|
|
130
|
+
let done = 0;
|
|
131
|
+
onProgress === null || onProgress === void 0 ? void 0 : onProgress(toolCallId, 0, batch.length, 'Downloading attachments');
|
|
132
|
+
const results = await (0, shared_1.mapPool)(batch, FETCH_CONCURRENCY, async (row) => {
|
|
133
|
+
try {
|
|
134
|
+
const saved = await saveAttachment({
|
|
135
|
+
key: String(row.key),
|
|
136
|
+
trackingNumber: row.trackingNumber === undefined ? undefined : String(row.trackingNumber),
|
|
137
|
+
name: row.name === undefined ? undefined : String(row.name),
|
|
138
|
+
reuse: true,
|
|
139
|
+
});
|
|
140
|
+
return { ...row, path: saved.path, bytes: saved.bytes, textPath: saved.textPath, textChars: saved.textChars, readable: !saved.isPdf || saved.textChars > 0, reused: saved.reused };
|
|
141
|
+
}
|
|
142
|
+
catch (error) {
|
|
143
|
+
return { ...row, error: error.message };
|
|
144
|
+
}
|
|
145
|
+
finally {
|
|
146
|
+
done += 1;
|
|
147
|
+
if (done % 10 === 0 || done === batch.length)
|
|
148
|
+
onProgress === null || onProgress === void 0 ? void 0 : onProgress(toolCallId, done, batch.length, 'Downloading attachments');
|
|
149
|
+
}
|
|
150
|
+
});
|
|
151
|
+
const outputPath = (_c = input.outputManifest) !== null && _c !== void 0 ? _c : `data/manifests/fetched-${Date.now()}.jsonl`;
|
|
152
|
+
const written = await (0, shared_1.writeWorkspaceFile)(workspaceDir, outputPath, results.map((row) => JSON.stringify(row)).join('\n') + (results.length ? '\n' : ''));
|
|
153
|
+
const failed = results.filter((row) => 'error' in row);
|
|
154
|
+
const unreadable = results.filter((row) => !('error' in row) && row.readable === false);
|
|
62
155
|
return {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
156
|
+
outputManifest: written.path,
|
|
157
|
+
requested: unique.length,
|
|
158
|
+
fetched: results.length - failed.length,
|
|
159
|
+
reused: results.filter((row) => row.reused).length,
|
|
160
|
+
failed: failed.length,
|
|
161
|
+
unreadable: unreadable.length,
|
|
162
|
+
notFetched: unique.length - batch.length,
|
|
163
|
+
duplicatesDropped: selected.length - unique.length,
|
|
164
|
+
textChars: results.reduce((sum, row) => sum + (typeof row.textChars === 'number' ? row.textChars : 0), 0),
|
|
165
|
+
failures: failed.slice(0, 5).map((row) => ({ name: row.name, error: row.error })),
|
|
166
|
+
next: 'Analyze the texts with extract_from_texts (manifest = outputManifest) or run_command; do not read whole documents into the chat.',
|
|
68
167
|
};
|
|
69
168
|
},
|
|
70
169
|
});
|
|
@@ -94,6 +193,6 @@ function createAttachmentTools(options) {
|
|
|
94
193
|
};
|
|
95
194
|
},
|
|
96
195
|
});
|
|
97
|
-
return { download_attachment: downloadAttachment, read_text: readText };
|
|
196
|
+
return { download_attachment: downloadAttachment, fetch_attachments: fetchAttachments, read_text: readText };
|
|
98
197
|
}
|
|
99
198
|
//# sourceMappingURL=attachment-tools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachment-tools.js","sourceRoot":"","sources":["../../../src/research/filingramp/attachment-tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"attachment-tools.js","sourceRoot":"","sources":["../../../src/research/filingramp/attachment-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-search-tool.d.ts","sourceRoot":"","sources":["../../../src/research/filingramp/document-search-tool.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"document-search-tool.d.ts","sourceRoot":"","sources":["../../../src/research/filingramp/document-search-tool.ts"],"names":[],"mappings":"AAGA,OAAO,EAAQ,KAAK,IAAI,EAAE,MAAM,IAAI,CAAA;AAKpC,OAAO,EAA6G,KAAK,sBAAsB,EAAE,MAAM,UAAU,CAAA;AASjK,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,sBAAsB,GAAG,IAAI,CA0N9E"}
|
|
@@ -1,18 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.createDocumentSearchTool = createDocumentSearchTool;
|
|
4
7
|
// Document indexes have different filter vocabularies. Search each group independently so
|
|
5
8
|
// an unavailable index does not discard successful results from the other groups.
|
|
9
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
6
10
|
const ai_1 = require("ai");
|
|
7
11
|
const zod_1 = require("zod");
|
|
8
12
|
const filingramp_client_1 = require("../filingramp-client");
|
|
9
13
|
const filingramp_contract_1 = require("../filingramp-contract");
|
|
10
14
|
const scope_1 = require("../scope");
|
|
11
15
|
const shared_1 = require("./shared");
|
|
12
|
-
|
|
16
|
+
/** Hits returned inline; more go to a saveHits file. */
|
|
17
|
+
const MAX_DOC_HITS = 50;
|
|
13
18
|
const MAX_HIGHLIGHTS = 3;
|
|
19
|
+
/** OpenSearch result window: offset + limit never exceeds it (ramp-model pagination.builder). */
|
|
20
|
+
const SEARCH_RESULT_WINDOW = 10000;
|
|
21
|
+
const SEARCH_PAGE_SIZE = 200;
|
|
14
22
|
function createDocumentSearchTool(options) {
|
|
15
|
-
const { client, workspaceDir, scope } = options;
|
|
23
|
+
const { client, workspaceDir, scope, onProgress } = options;
|
|
16
24
|
const industryData = client.industryData;
|
|
17
25
|
// Document search matches typeOfInsurance exactly, while the scope holds names or codes
|
|
18
26
|
// ("Homeowners", "04.0"); the filings summary says which exact labels those stand for in this
|
|
@@ -39,6 +47,7 @@ function createDocumentSearchTool(options) {
|
|
|
39
47
|
}));
|
|
40
48
|
return lineLabels;
|
|
41
49
|
};
|
|
50
|
+
/** One page of document hits; `total` is every match (it can exceed the 10,000-hit window), `count` what paging reaches. */
|
|
42
51
|
const requestDocuments = async (body) => {
|
|
43
52
|
try {
|
|
44
53
|
// ramp-web-api mounts the OpenSearch router at /content-search (POST /global).
|
|
@@ -47,7 +56,10 @@ function createDocumentSearchTool(options) {
|
|
|
47
56
|
body,
|
|
48
57
|
timeoutMs: 120000,
|
|
49
58
|
});
|
|
50
|
-
|
|
59
|
+
if (Array.isArray(payload))
|
|
60
|
+
return { items: payload };
|
|
61
|
+
const number = (value) => (typeof value === 'number' ? value : undefined);
|
|
62
|
+
return { items: (0, shared_1.asRecordList)(payload), total: number(payload === null || payload === void 0 ? void 0 : payload.total), count: number(payload === null || payload === void 0 ? void 0 : payload.count) };
|
|
51
63
|
}
|
|
52
64
|
catch (error) {
|
|
53
65
|
if (error instanceof filingramp_client_1.FilingRampHttpError && error.status === 403) {
|
|
@@ -66,7 +78,7 @@ function createDocumentSearchTool(options) {
|
|
|
66
78
|
}
|
|
67
79
|
};
|
|
68
80
|
return (0, ai_1.tool)({
|
|
69
|
-
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.
|
|
81
|
+
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. Without saveHits it returns up to 50 hits inline with highlights. With saveHits it pages through every hit (KEYWORD and HYBRID reach up to 10,000 per query; SEMANTIC ranks only the top candidates, so do not use it to list a population), writes one JSONL row per hit (filingId, trackingNumber, state, name, attachmentKey, textPath…) and returns totals plus a few samples; the file works as a fetch_attachments / extract_from_texts manifest. Several calls with the same saveHits path add to it without duplicates. 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.',
|
|
70
82
|
inputSchema: zod_1.z.object({
|
|
71
83
|
query: zod_1.z.string().min(1).max(2000),
|
|
72
84
|
searchType: zod_1.z.enum(['KEYWORD', 'SEMANTIC', 'HYBRID']).optional().describe('KEYWORD for exact phrases (default), SEMANTIC for meaning, HYBRID for both'),
|
|
@@ -78,11 +90,12 @@ function createDocumentSearchTool(options) {
|
|
|
78
90
|
matchMode: zod_1.z.enum(['EXACT', 'ANY_WORD', 'PROXIMITY', 'PREFIX', 'FUZZY', 'BOOLEAN']).optional(),
|
|
79
91
|
filters: zod_1.z.array(shared_1.filterInputSchema).max(20).optional().describe('See the tool description for fields and operators'),
|
|
80
92
|
scope: zod_1.z.enum(['ACCOUNT', 'INDUSTRY']).optional(),
|
|
81
|
-
limit: zod_1.z.number().int().min(1).max(
|
|
93
|
+
limit: zod_1.z.number().int().min(1).max(SEARCH_RESULT_WINDOW).optional().describe('Hits to collect: up to 50 inline; with saveHits up to 10,000 (default 2,000)'),
|
|
82
94
|
saveText: zod_1.z.boolean().optional(),
|
|
95
|
+
saveHits: zod_1.z.string().min(1).max(300).optional().describe('Workspace JSONL path for every hit, e.g. data/hits/water-valve.jsonl'),
|
|
83
96
|
}),
|
|
84
|
-
execute: async (input) => {
|
|
85
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y;
|
|
97
|
+
execute: async (input, { toolCallId }) => {
|
|
98
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z;
|
|
86
99
|
const searchType = (_a = input.searchType) !== null && _a !== void 0 ? _a : 'KEYWORD';
|
|
87
100
|
const suffix = searchType === 'KEYWORD' ? 'keyword_index' : 'semantic_index';
|
|
88
101
|
const matchMode = (_b = input.matchMode) !== null && _b !== void 0 ? _b : (searchType === 'KEYWORD' ? 'EXACT' : 'ANY_WORD');
|
|
@@ -92,10 +105,11 @@ function createDocumentSearchTool(options) {
|
|
|
92
105
|
const hits = [];
|
|
93
106
|
const failures = [];
|
|
94
107
|
let answered = 0;
|
|
108
|
+
const wanted = input.saveHits ? Math.min((_c = input.limit) !== null && _c !== void 0 ? _c : 2000, SEARCH_RESULT_WINDOW) : Math.min((_d = input.limit) !== null && _d !== void 0 ? _d : MAX_DOC_HITS, 1000);
|
|
95
109
|
// One request per index group: each group has its own filter vocabulary, and one filter
|
|
96
110
|
// outside it fails the whole request. A group whose indexes an environment does not have
|
|
97
111
|
// (circulars on most deployments) fails alone; the other groups still answer.
|
|
98
|
-
for (const group of (0, filingramp_contract_1.documentIndexGroups)((
|
|
112
|
+
for (const group of (0, filingramp_contract_1.documentIndexGroups)((_e = input.indexes) !== null && _e !== void 0 ? _e : ['filings'])) {
|
|
99
113
|
const own = (0, filingramp_contract_1.normalizeDocumentFilters)(input.filters, group);
|
|
100
114
|
const scoped = (0, scope_1.scopeDocumentFilters)(scope, own.filters, group.fields, labels);
|
|
101
115
|
const entry = { indexes: group.indexes, filters: scoped.filters, unscoped: scoped.unscoped, ignoredFilters: own.ignored };
|
|
@@ -104,17 +118,29 @@ function createDocumentSearchTool(options) {
|
|
|
104
118
|
continue;
|
|
105
119
|
}
|
|
106
120
|
try {
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
121
|
+
// Inline: one page. saveHits: page by offset until `wanted` hits, a short page or the result window.
|
|
122
|
+
const pageSize = input.saveHits ? Math.min(SEARCH_PAGE_SIZE, wanted) : wanted;
|
|
123
|
+
let total;
|
|
124
|
+
for (let offset = 0, collected = 0; collected < wanted && offset + pageSize <= SEARCH_RESULT_WINDOW; offset += pageSize) {
|
|
125
|
+
const page = await requestDocuments({
|
|
126
|
+
searchType,
|
|
127
|
+
searchText: input.query,
|
|
128
|
+
matchMode,
|
|
129
|
+
indexNames: group.indexes.map((index) => `${index}_${suffix}`),
|
|
130
|
+
scope: scopeValue,
|
|
131
|
+
limit: pageSize,
|
|
132
|
+
...(offset > 0 ? { offset } : {}),
|
|
133
|
+
filters: scoped.filters,
|
|
134
|
+
});
|
|
135
|
+
total !== null && total !== void 0 ? total : (total = page.total);
|
|
136
|
+
hits.push(...page.items);
|
|
137
|
+
collected += page.items.length;
|
|
138
|
+
if (input.saveHits)
|
|
139
|
+
onProgress === null || onProgress === void 0 ? void 0 : onProgress(toolCallId, collected, Math.min(wanted, total !== null && total !== void 0 ? total : wanted), 'Collecting search hits');
|
|
140
|
+
if (!input.saveHits || page.items.length < pageSize || (total !== undefined && offset + pageSize >= total))
|
|
141
|
+
break;
|
|
142
|
+
}
|
|
143
|
+
requests.push({ ...entry, total });
|
|
118
144
|
answered += 1;
|
|
119
145
|
}
|
|
120
146
|
catch (error) {
|
|
@@ -129,23 +155,24 @@ function createDocumentSearchTool(options) {
|
|
|
129
155
|
throw failures[0];
|
|
130
156
|
hits.sort((a, b) => { var _a, _b; return Number((_a = b._score) !== null && _a !== void 0 ? _a : 0) - Number((_b = a._score) !== null && _b !== void 0 ? _b : 0); });
|
|
131
157
|
const results = [];
|
|
132
|
-
for (const hit of hits.slice(0, MAX_DOC_HITS)) {
|
|
133
|
-
const source = ((
|
|
134
|
-
const highlight = ((
|
|
158
|
+
for (const hit of input.saveHits ? hits : hits.slice(0, MAX_DOC_HITS)) {
|
|
159
|
+
const source = ((_f = hit._source) !== null && _f !== void 0 ? _f : {});
|
|
160
|
+
const highlight = ((_g = hit.highlight) !== null && _g !== void 0 ? _g : {});
|
|
135
161
|
const fragments = Object.values(highlight).flat().slice(0, MAX_HIGHLIGHTS);
|
|
136
162
|
// An indexed document is the filing's metadata at the top level plus one sub-object
|
|
137
163
|
// for the document itself (form, rate, supporting, attachment, disposition …) that
|
|
138
164
|
// carries attachmentKey / attachmentText; objection letters keep their text top-level.
|
|
139
165
|
const document = Object.values(source).find((value) => !!value && typeof value === 'object' && !Array.isArray(value) && ('attachmentText' in value || 'attachmentKey' in value));
|
|
140
|
-
const textValue = (
|
|
166
|
+
const textValue = (_j = (_h = document === null || document === void 0 ? void 0 : document.attachmentText) !== null && _h !== void 0 ? _h : source.attachmentText) !== null && _j !== void 0 ? _j : source.allMetadataText;
|
|
141
167
|
const text = typeof textValue === 'string' && textValue.length > 0 ? textValue : undefined;
|
|
142
|
-
const keyValue = (
|
|
168
|
+
const keyValue = (_l = (_k = document === null || document === void 0 ? void 0 : document.attachmentKey) !== null && _k !== void 0 ? _k : source.attachmentKey) !== null && _l !== void 0 ? _l : source.key;
|
|
143
169
|
const attachmentKey = typeof keyValue === 'string' ? keyValue : undefined;
|
|
144
|
-
const trackingNumber = String((
|
|
145
|
-
const name = String((_w = (_v = (_u = (_t = (_s = (_r = (
|
|
170
|
+
const trackingNumber = String((_q = (_p = (_o = (_m = source.trackingNumber) !== null && _m !== void 0 ? _m : source.filingTrackingNumber) !== null && _o !== void 0 ? _o : source.resourceId) !== null && _p !== void 0 ? _p : hit._id) !== null && _q !== void 0 ? _q : 'unknown');
|
|
171
|
+
const name = String((_x = (_w = (_v = (_u = (_t = (_s = (_r = (attachmentKey ? decodeURIComponent(attachmentKey.slice(attachmentKey.lastIndexOf('/') + 1)) : undefined)) !== null && _r !== void 0 ? _r : document === null || document === void 0 ? void 0 : document.formNumber) !== null && _s !== void 0 ? _s : source.name) !== null && _t !== void 0 ? _t : source.attachmentName) !== null && _u !== void 0 ? _u : source.formNumber) !== null && _v !== void 0 ? _v : source.title) !== null && _w !== void 0 ? _w : hit._id) !== null && _x !== void 0 ? _x : 'document');
|
|
146
172
|
let textPath;
|
|
147
173
|
if (input.saveText && text) {
|
|
148
|
-
|
|
174
|
+
// Same path download_attachment / fetch_attachments use, so a later fetch finds it.
|
|
175
|
+
textPath = `data/text/${(0, shared_1.safeName)(trackingNumber)}/${(0, shared_1.safeName)(name).replace(/\.pdf$/i, '')}.txt`;
|
|
149
176
|
await (0, shared_1.writeWorkspaceFile)(workspaceDir, textPath, text);
|
|
150
177
|
}
|
|
151
178
|
results.push({
|
|
@@ -159,14 +186,45 @@ function createDocumentSearchTool(options) {
|
|
|
159
186
|
filingType: source.filingType,
|
|
160
187
|
dateSubmitted: source.dateSubmitted,
|
|
161
188
|
name,
|
|
162
|
-
formNumber: (
|
|
189
|
+
formNumber: (_y = document === null || document === void 0 ? void 0 : document.formNumber) !== null && _y !== void 0 ? _y : source.formNumber,
|
|
163
190
|
attachmentKey,
|
|
164
|
-
textChars: (
|
|
191
|
+
textChars: (_z = text === null || text === void 0 ? void 0 : text.length) !== null && _z !== void 0 ? _z : 0,
|
|
165
192
|
textPath,
|
|
166
193
|
highlights: fragments.map((fragment) => fragment.replace(/<\/?em>/g, '**').slice(0, 300)),
|
|
167
194
|
});
|
|
168
195
|
}
|
|
169
|
-
|
|
196
|
+
const matches = requests.reduce((sum, request) => { var _a; return sum + ((_a = request.total) !== null && _a !== void 0 ? _a : 0); }, 0);
|
|
197
|
+
if (!input.saveHits) {
|
|
198
|
+
return {
|
|
199
|
+
hits: results,
|
|
200
|
+
collected: hits.length,
|
|
201
|
+
totalMatches: matches || undefined,
|
|
202
|
+
truncated: hits.length > MAX_DOC_HITS || matches > results.length,
|
|
203
|
+
next: matches > results.length ? 'More hits exist: repeat with saveHits to collect them into a file.' : undefined,
|
|
204
|
+
requests,
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
// Merge into the hits file: a document already there (from an earlier query) keeps its row.
|
|
208
|
+
const target = node_path_1.default.resolve(workspaceDir, input.saveHits);
|
|
209
|
+
const previous = (await (0, shared_1.exists)(target)) ? await (0, shared_1.readManifest)(workspaceDir, input.saveHits) : [];
|
|
210
|
+
const known = new Set(previous.map((row) => String(row.id)));
|
|
211
|
+
const added = results.filter((row) => !known.has(String(row.id)));
|
|
212
|
+
const merged = [...previous, ...added.map((row) => ({ ...row, query: input.query }))];
|
|
213
|
+
const saved = await (0, shared_1.writeWorkspaceFile)(workspaceDir, input.saveHits, merged.map((row) => JSON.stringify(row)).join('\n') + (merged.length ? '\n' : ''));
|
|
214
|
+
return {
|
|
215
|
+
saveHits: saved.path,
|
|
216
|
+
collected: results.length,
|
|
217
|
+
added: added.length,
|
|
218
|
+
rowsInFile: merged.length,
|
|
219
|
+
totalMatches: matches || undefined,
|
|
220
|
+
// Past the 10,000-hit window the rest is unreachable for this query: split it by state or company.
|
|
221
|
+
beyondWindow: matches > SEARCH_RESULT_WINDOW ? matches - SEARCH_RESULT_WINDOW : undefined,
|
|
222
|
+
filings: new Set(results.map((row) => { var _a; return (_a = row.filingId) !== null && _a !== void 0 ? _a : row.trackingNumber; })).size,
|
|
223
|
+
byState: (0, shared_1.countBy)(results, (row) => row.state),
|
|
224
|
+
withText: results.filter((row) => Number(row.textChars) > 0).length,
|
|
225
|
+
sample: results.slice(0, shared_1.SAMPLE_ROWS).map((row) => ({ trackingNumber: row.trackingNumber, name: row.name, highlights: row.highlights.slice(0, 1) })),
|
|
226
|
+
requests,
|
|
227
|
+
};
|
|
170
228
|
},
|
|
171
229
|
});
|
|
172
230
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-search-tool.js","sourceRoot":"","sources":["../../../src/research/filingramp/document-search-tool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"document-search-tool.js","sourceRoot":"","sources":["../../../src/research/filingramp/document-search-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import { type Tool } from 'ai';
|
|
2
2
|
import { type FilingRampToolsOptions } from './shared';
|
|
3
|
+
/** Walks a filing record and lists every attachment with where it sits in the filing. */
|
|
4
|
+
export declare function collectAttachments(filing: Record<string, unknown>): Array<Record<string, unknown>>;
|
|
5
|
+
/** Filing _id for an id or a SERFF tracking number, resolved inside the session scope. */
|
|
6
|
+
export declare function createFilingIdResolver(options: FilingRampToolsOptions): (id: string) => Promise<string>;
|
|
3
7
|
export declare function createFilingDetailTool(options: FilingRampToolsOptions): Tool;
|
|
4
8
|
//# sourceMappingURL=filing-detail-tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filing-detail-tool.d.ts","sourceRoot":"","sources":["../../../src/research/filingramp/filing-detail-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,IAAI,EAAE,MAAM,IAAI,CAAA;AAGpC,OAAO,
|
|
1
|
+
{"version":3,"file":"filing-detail-tool.d.ts","sourceRoot":"","sources":["../../../src/research/filingramp/filing-detail-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,IAAI,EAAE,MAAM,IAAI,CAAA;AAGpC,OAAO,EAAoF,KAAK,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAKxI,yFAAyF;AACzF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAkClG;AAED,0FAA0F;AAC1F,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,sBAAsB,GAAG,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CA6BvG;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,sBAAsB,GAAG,IAAI,CAgF5E"}
|