@lloyal-labs/rig 1.2.2 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/sources/corpus.d.ts +28 -2
- package/dist/sources/corpus.d.ts.map +1 -1
- package/dist/sources/corpus.js +9 -16
- package/dist/sources/corpus.js.map +1 -1
- package/dist/sources/index.d.ts +2 -0
- package/dist/sources/index.d.ts.map +1 -1
- package/dist/sources/index.js.map +1 -1
- package/dist/sources/web-research.md +5 -5
- package/dist/sources/web.d.ts +33 -2
- package/dist/sources/web.d.ts.map +1 -1
- package/dist/sources/web.js +13 -18
- package/dist/sources/web.js.map +1 -1
- package/dist/tools/fetch-page.d.ts +8 -1
- package/dist/tools/fetch-page.d.ts.map +1 -1
- package/dist/tools/fetch-page.js +27 -6
- package/dist/tools/fetch-page.js.map +1 -1
- package/dist/tools/grep.d.ts +6 -1
- package/dist/tools/grep.d.ts.map +1 -1
- package/dist/tools/grep.js +9 -4
- package/dist/tools/grep.js.map +1 -1
- package/dist/tools/plan.d.ts +3 -0
- package/dist/tools/plan.d.ts.map +1 -1
- package/dist/tools/plan.js +3 -1
- package/dist/tools/plan.js.map +1 -1
- package/dist/tools/read-file.d.ts +4 -1
- package/dist/tools/read-file.d.ts.map +1 -1
- package/dist/tools/read-file.js +4 -2
- package/dist/tools/read-file.js.map +1 -1
- package/dist/tools/report.d.ts +7 -1
- package/dist/tools/report.d.ts.map +1 -1
- package/dist/tools/report.js +18 -6
- package/dist/tools/report.js.map +1 -1
- package/dist/tools/research.d.ts +2 -2
- package/dist/tools/research.d.ts.map +1 -1
- package/dist/tools/research.js +5 -27
- package/dist/tools/research.js.map +1 -1
- package/dist/tools/web-research.d.ts +2 -2
- package/dist/tools/web-research.d.ts.map +1 -1
- package/dist/tools/web-research.js +5 -40
- package/dist/tools/web-research.js.map +1 -1
- package/package.json +4 -4
package/dist/sources/corpus.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Operation } from "effection";
|
|
2
2
|
import { Source } from "@lloyal-labs/lloyal-agents";
|
|
3
|
-
import type { Tool } from "@lloyal-labs/lloyal-agents";
|
|
3
|
+
import type { Tool, PressureThresholds } from "@lloyal-labs/lloyal-agents";
|
|
4
4
|
import type { Resource, Chunk } from "../resources/types";
|
|
5
5
|
import type { SourceContext } from "./types";
|
|
6
6
|
/**
|
|
@@ -17,18 +17,44 @@ import type { SourceContext } from "./types";
|
|
|
17
17
|
*
|
|
18
18
|
* @category Rig
|
|
19
19
|
*/
|
|
20
|
+
/**
|
|
21
|
+
* Configuration for {@link CorpusSource}.
|
|
22
|
+
*
|
|
23
|
+
* @category Rig
|
|
24
|
+
*/
|
|
25
|
+
export interface CorpusSourceOpts {
|
|
26
|
+
/** GrepTool configuration */
|
|
27
|
+
grep?: {
|
|
28
|
+
/** Max matches returned. @default 50 */
|
|
29
|
+
maxResults?: number;
|
|
30
|
+
/** Max chars per matched line. @default 200 */
|
|
31
|
+
lineMaxChars?: number;
|
|
32
|
+
};
|
|
33
|
+
/** ReadFileTool configuration */
|
|
34
|
+
readFile?: {
|
|
35
|
+
/** Default max lines when no range specified. @default 100 */
|
|
36
|
+
defaultMaxLines?: number;
|
|
37
|
+
};
|
|
38
|
+
/** ResearchTool overrides */
|
|
39
|
+
research?: {
|
|
40
|
+
/** Override pressure thresholds for inner research pool */
|
|
41
|
+
pressure?: PressureThresholds;
|
|
42
|
+
};
|
|
43
|
+
}
|
|
20
44
|
export declare class CorpusSource extends Source<SourceContext, Chunk> {
|
|
21
45
|
private _chunks;
|
|
22
46
|
private _tools;
|
|
23
47
|
private _researchTool;
|
|
24
48
|
private _bound;
|
|
49
|
+
private _researchOpts?;
|
|
25
50
|
/** @inheritDoc */
|
|
26
51
|
readonly name = "corpus";
|
|
27
52
|
/**
|
|
28
53
|
* @param resources - Loaded file resources for read_file and grep tools
|
|
29
54
|
* @param chunks - Pre-split chunks for reranker-backed search
|
|
55
|
+
* @param opts - Configuration for grep, read_file, and research tools
|
|
30
56
|
*/
|
|
31
|
-
constructor(resources: Resource[], chunks: Chunk[]);
|
|
57
|
+
constructor(resources: Resource[], chunks: Chunk[], opts?: CorpusSourceOpts);
|
|
32
58
|
/** @inheritDoc */
|
|
33
59
|
get researchTool(): Tool;
|
|
34
60
|
/** @inheritDoc */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"corpus.d.ts","sourceRoot":"","sources":["../../src/sources/corpus.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAwB,MAAM,4BAA4B,CAAC;AAC1E,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"corpus.d.ts","sourceRoot":"","sources":["../../src/sources/corpus.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAwB,MAAM,4BAA4B,CAAC;AAC1E,OAAO,KAAK,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAe7C;;;;;;;;;;;;;GAaG;AACH;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,6BAA6B;IAC7B,IAAI,CAAC,EAAE;QACL,wCAAwC;QACxC,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,+CAA+C;QAC/C,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,iCAAiC;IACjC,QAAQ,CAAC,EAAE;QACT,8DAA8D;QAC9D,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,6BAA6B;IAC7B,QAAQ,CAAC,EAAE;QACT,2DAA2D;QAC3D,QAAQ,CAAC,EAAE,kBAAkB,CAAC;KAC/B,CAAC;CACH;AAED,qBAAa,YAAa,SAAQ,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC;IAC5D,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,aAAa,CAAC,CAA+B;IAErD,kBAAkB;IAClB,QAAQ,CAAC,IAAI,YAAY;IAEzB;;;;OAIG;gBACS,SAAS,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,CAAC,EAAE,gBAAgB;IAU3E,kBAAkB;IAClB,IAAI,YAAY,IAAI,IAAI,CAIvB;IAED,kBAAkB;IAClB,IAAI,cAAc,IAAI,IAAI,EAAE,CAAwB;IAEpD;;;;;;;;;OASG;IACF,IAAI,CAAC,GAAG,EAAE,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC;CAqB3C"}
|
package/dist/sources/corpus.js
CHANGED
|
@@ -18,35 +18,27 @@ function readTask(name) {
|
|
|
18
18
|
return { system: raw, user: "" };
|
|
19
19
|
return { system: raw.slice(0, sep).trim(), user: raw.slice(sep + 5).trim() };
|
|
20
20
|
}
|
|
21
|
-
/**
|
|
22
|
-
* Corpus-backed research source using local file search, read, and grep
|
|
23
|
-
*
|
|
24
|
-
* Provides grounding tools (`search`, `read_file`, `grep`) over a set of
|
|
25
|
-
* loaded {@link Resource} / {@link Chunk} pairs. On {@link bind}, tokenizes
|
|
26
|
-
* chunks via the reranker and prepends a reranker-backed `search` tool to
|
|
27
|
-
* the tool list. The `search` tool is ordered first so the model prefers
|
|
28
|
-
* semantic search before falling back to `read_file` or `grep`.
|
|
29
|
-
*
|
|
30
|
-
* The research tool is a self-referential {@link ResearchTool} that spawns
|
|
31
|
-
* sub-agents with corpus-specific prompts and the full grounding toolkit.
|
|
32
|
-
*
|
|
33
|
-
* @category Rig
|
|
34
|
-
*/
|
|
35
21
|
class CorpusSource extends lloyal_agents_1.Source {
|
|
36
22
|
_chunks;
|
|
37
23
|
_tools = [];
|
|
38
24
|
_researchTool = null;
|
|
39
25
|
_bound = false;
|
|
26
|
+
_researchOpts;
|
|
40
27
|
/** @inheritDoc */
|
|
41
28
|
name = "corpus";
|
|
42
29
|
/**
|
|
43
30
|
* @param resources - Loaded file resources for read_file and grep tools
|
|
44
31
|
* @param chunks - Pre-split chunks for reranker-backed search
|
|
32
|
+
* @param opts - Configuration for grep, read_file, and research tools
|
|
45
33
|
*/
|
|
46
|
-
constructor(resources, chunks) {
|
|
34
|
+
constructor(resources, chunks, opts) {
|
|
47
35
|
super();
|
|
48
36
|
this._chunks = chunks;
|
|
49
|
-
this._tools = [
|
|
37
|
+
this._tools = [
|
|
38
|
+
new read_file_1.ReadFileTool(resources, opts?.readFile),
|
|
39
|
+
new grep_1.GrepTool(resources, opts?.grep),
|
|
40
|
+
];
|
|
41
|
+
this._researchOpts = opts?.research;
|
|
50
42
|
}
|
|
51
43
|
/** @inheritDoc */
|
|
52
44
|
get researchTool() {
|
|
@@ -80,6 +72,7 @@ class CorpusSource extends lloyal_agents_1.Source {
|
|
|
80
72
|
reporterPrompt: ctx.reporterPrompt,
|
|
81
73
|
maxTurns: ctx.maxTurns,
|
|
82
74
|
trace: ctx.trace,
|
|
75
|
+
pressure: this._researchOpts?.pressure,
|
|
83
76
|
});
|
|
84
77
|
const toolkit = (0, lloyal_agents_1.createToolkit)([...this._tools, ctx.reportTool, research]);
|
|
85
78
|
research.setToolkit(toolkit);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"corpus.js","sourceRoot":"","sources":["../../src/sources/corpus.ts"],"names":[],"mappings":";;;AAAA,8BAA8B;AAC9B,kCAAkC;AAClC,yCAAiC;AAEjC,8DAA0E;AAI1E,4CAA6C;AAC7C,kDAAkD;AAClD,wCAAyC;AACzC,gDAAiD;AAEjD,SAAS,QAAQ,CAAC,IAAY;IAC5B,MAAM,GAAG,GAAG,EAAE;SACX,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,KAAK,CAAC,EAAE,MAAM,CAAC;SAC3D,IAAI,EAAE,CAAC;IACV,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACnC,IAAI,GAAG,KAAK,CAAC,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACjD,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;AAC/E,CAAC;
|
|
1
|
+
{"version":3,"file":"corpus.js","sourceRoot":"","sources":["../../src/sources/corpus.ts"],"names":[],"mappings":"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"}
|
package/dist/sources/index.d.ts
CHANGED
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
* @category Rig
|
|
6
6
|
*/
|
|
7
7
|
export { WebSource } from './web';
|
|
8
|
+
export type { WebSourceOpts } from './web';
|
|
8
9
|
export { CorpusSource } from './corpus';
|
|
10
|
+
export type { CorpusSourceOpts } from './corpus';
|
|
9
11
|
export type { SourceContext } from './types';
|
|
10
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sources/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sources/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,YAAY,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,YAAY,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACjD,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sources/index.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,6BAAkC;AAAzB,gGAAA,SAAS,OAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sources/index.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,6BAAkC;AAAzB,gGAAA,SAAS,OAAA;AAElB,mCAAwC;AAA/B,sGAAA,YAAY,OAAA"}
|
|
@@ -2,11 +2,11 @@ You are a research assistant investigating questions using the web. Your tools:
|
|
|
2
2
|
- **web_search**: search the web — returns results with titles, snippets, and URLs
|
|
3
3
|
- **fetch_page**: fetch a URL and extract its article content — use to read promising search results or follow links
|
|
4
4
|
- **web_research**: spawn parallel sub-agents that each run their own web_search/fetch_page cycle — call with `{"questions": ["q1", "q2", ...]}`
|
|
5
|
-
- **report**: submit your final findings with
|
|
5
|
+
- **report**: submit your final findings with direct quotes, data points, and source URLs from the pages you read. Include what you found AND what you checked but could not find
|
|
6
6
|
|
|
7
|
-
Process
|
|
7
|
+
Process:
|
|
8
8
|
1. Search the web with focused queries targeting specific aspects of the question.
|
|
9
9
|
2. Read the most promising results with fetch_page. Follow links within pages when they lead to more authoritative content.
|
|
10
|
-
3.
|
|
11
|
-
4.
|
|
12
|
-
5.
|
|
10
|
+
3. After reading results, state what you've established so far and what gaps remain.
|
|
11
|
+
4. If clear gaps remain, call web_research again with targeted sub-questions to fill them.
|
|
12
|
+
5. Call report() with direct quotes, data points, and source URLs. State what you found AND what you checked but could not find. Do not summarize — preserve detail.
|
package/dist/sources/web.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Operation } from "effection";
|
|
2
2
|
import { Source } from "@lloyal-labs/lloyal-agents";
|
|
3
|
-
import type { Tool } from "@lloyal-labs/lloyal-agents";
|
|
3
|
+
import type { Tool, PressureThresholds } from "@lloyal-labs/lloyal-agents";
|
|
4
4
|
import type { Chunk } from "../resources/types";
|
|
5
5
|
import type { SourceContext } from "./types";
|
|
6
6
|
import type { SearchProvider } from "../tools/types";
|
|
@@ -15,18 +15,49 @@ export { chunkFetchedPages, type FetchedPage } from "./chunking";
|
|
|
15
15
|
*
|
|
16
16
|
* @category Rig
|
|
17
17
|
*/
|
|
18
|
+
/**
|
|
19
|
+
* Configuration for {@link WebSource}.
|
|
20
|
+
*
|
|
21
|
+
* @category Rig
|
|
22
|
+
*/
|
|
23
|
+
export interface WebSourceOpts {
|
|
24
|
+
/** Max search results returned to agents. @default 8 */
|
|
25
|
+
topN?: number;
|
|
26
|
+
/** FetchPageTool configuration */
|
|
27
|
+
fetch?: {
|
|
28
|
+
/** Max chars for full-content fallback (no reranker). @default 6000 */
|
|
29
|
+
maxChars?: number;
|
|
30
|
+
/** Top-K reranked chunks returned. @default 5 */
|
|
31
|
+
topK?: number;
|
|
32
|
+
/** Fetch timeout in ms. @default 10000 */
|
|
33
|
+
timeout?: number;
|
|
34
|
+
/** Reranker token budget for chunk selection. @default 2048 */
|
|
35
|
+
tokenBudget?: number;
|
|
36
|
+
};
|
|
37
|
+
/** WebResearchTool overrides (applied on top of SourceContext) */
|
|
38
|
+
research?: {
|
|
39
|
+
/** Override tool name. @default "web_research" */
|
|
40
|
+
name?: string;
|
|
41
|
+
/** Override tool description */
|
|
42
|
+
description?: string;
|
|
43
|
+
/** Override pressure thresholds for inner research pool */
|
|
44
|
+
pressure?: PressureThresholds;
|
|
45
|
+
};
|
|
46
|
+
}
|
|
18
47
|
export declare class WebSource extends Source<SourceContext, Chunk> {
|
|
19
48
|
private _buffer;
|
|
20
49
|
private _fetchPage;
|
|
21
50
|
private _webSearch;
|
|
22
51
|
private _researchPrompt;
|
|
23
52
|
private _researchTool;
|
|
53
|
+
private _researchOpts?;
|
|
24
54
|
/** @inheritDoc */
|
|
25
55
|
readonly name = "web";
|
|
26
56
|
/**
|
|
27
57
|
* @param provider - Search backend (e.g. {@link TavilyProvider}) for web_search calls
|
|
58
|
+
* @param opts - Configuration for search, fetch, and research tools
|
|
28
59
|
*/
|
|
29
|
-
constructor(provider: SearchProvider);
|
|
60
|
+
constructor(provider: SearchProvider, opts?: WebSourceOpts);
|
|
30
61
|
/** @inheritDoc */
|
|
31
62
|
get researchTool(): Tool;
|
|
32
63
|
/** @inheritDoc */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../src/sources/web.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAwB,MAAM,4BAA4B,CAAC;AAC1E,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../src/sources/web.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAwB,MAAM,4BAA4B,CAAC;AAC1E,OAAO,KAAK,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAQrD,OAAO,EAAE,iBAAiB,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAmDjE;;;;;;;;;GASG;AACH;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,wDAAwD;IACxD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,KAAK,CAAC,EAAE;QACN,uEAAuE;QACvE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,iDAAiD;QACjD,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,0CAA0C;QAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,+DAA+D;QAC/D,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,kEAAkE;IAClE,QAAQ,CAAC,EAAE;QACT,kDAAkD;QAClD,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,gCAAgC;QAChC,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,2DAA2D;QAC3D,QAAQ,CAAC,EAAE,kBAAkB,CAAC;KAC/B,CAAC;CACH;AAED,qBAAa,SAAU,SAAQ,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC;IACzD,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,eAAe,CAAmC;IAC1D,OAAO,CAAC,aAAa,CAAgC;IACrD,OAAO,CAAC,aAAa,CAAC,CAA4B;IAElD,kBAAkB;IAClB,QAAQ,CAAC,IAAI,SAAS;IAEtB;;;OAGG;gBACS,QAAQ,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,aAAa;IAQ1D,kBAAkB;IAClB,IAAI,YAAY,IAAI,IAAI,CAIvB;IAED,kBAAkB;IAClB,IAAI,cAAc,IAAI,IAAI,EAAE,CAE3B;IAED;;;;OAIG;IACF,IAAI,CAAC,GAAG,EAAE,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC;IAsC1C,kBAAkB;IAClB,SAAS,IAAI,KAAK,EAAE;CAGrB"}
|
package/dist/sources/web.js
CHANGED
|
@@ -33,8 +33,8 @@ function readTask(name) {
|
|
|
33
33
|
*/
|
|
34
34
|
class BufferingFetchPage extends fetch_page_1.FetchPageTool {
|
|
35
35
|
_buffer;
|
|
36
|
-
constructor(buffer,
|
|
37
|
-
super(
|
|
36
|
+
constructor(buffer, opts) {
|
|
37
|
+
super(opts);
|
|
38
38
|
this._buffer = buffer;
|
|
39
39
|
}
|
|
40
40
|
*execute(args) {
|
|
@@ -51,33 +51,25 @@ class BufferingFetchPage extends fetch_page_1.FetchPageTool {
|
|
|
51
51
|
return result;
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
|
-
// ── WebSource ────────────────────────────────────────────────────
|
|
55
|
-
/**
|
|
56
|
-
* Web-backed research source
|
|
57
|
-
*
|
|
58
|
-
* Agents search the web via {@link WebSearchTool} (returns titles, snippets,
|
|
59
|
-
* URLs), then fetch promising pages via {@link FetchPageTool} (returns
|
|
60
|
-
* reranked relevant chunks). Fetched content is buffered for post-research
|
|
61
|
-
* passage reranking via {@link getChunks}.
|
|
62
|
-
*
|
|
63
|
-
* @category Rig
|
|
64
|
-
*/
|
|
65
54
|
class WebSource extends lloyal_agents_1.Source {
|
|
66
55
|
_buffer = [];
|
|
67
56
|
_fetchPage;
|
|
68
57
|
_webSearch;
|
|
69
58
|
_researchPrompt;
|
|
70
59
|
_researchTool = null;
|
|
60
|
+
_researchOpts;
|
|
71
61
|
/** @inheritDoc */
|
|
72
62
|
name = "web";
|
|
73
63
|
/**
|
|
74
64
|
* @param provider - Search backend (e.g. {@link TavilyProvider}) for web_search calls
|
|
65
|
+
* @param opts - Configuration for search, fetch, and research tools
|
|
75
66
|
*/
|
|
76
|
-
constructor(provider) {
|
|
67
|
+
constructor(provider, opts) {
|
|
77
68
|
super();
|
|
78
69
|
this._researchPrompt = readTask("web-research");
|
|
79
|
-
this._fetchPage = new BufferingFetchPage(this._buffer);
|
|
80
|
-
this._webSearch = new web_search_1.WebSearchTool(provider);
|
|
70
|
+
this._fetchPage = new BufferingFetchPage(this._buffer, opts?.fetch);
|
|
71
|
+
this._webSearch = new web_search_1.WebSearchTool(provider, opts?.topN);
|
|
72
|
+
this._researchOpts = opts?.research;
|
|
81
73
|
}
|
|
82
74
|
/** @inheritDoc */
|
|
83
75
|
get researchTool() {
|
|
@@ -107,13 +99,16 @@ class WebSource extends lloyal_agents_1.Source {
|
|
|
107
99
|
sourceName: this.name,
|
|
108
100
|
});
|
|
109
101
|
if (!this._researchTool) {
|
|
102
|
+
const ro = this._researchOpts;
|
|
110
103
|
const webResearch = new web_research_1.WebResearchTool({
|
|
111
|
-
name: "web_research",
|
|
112
|
-
description:
|
|
104
|
+
name: ro?.name ?? "web_research",
|
|
105
|
+
description: ro?.description ??
|
|
106
|
+
"Spawn parallel web research agents that search the web, fetch pages, and report findings.",
|
|
113
107
|
systemPrompt: this._researchPrompt.system,
|
|
114
108
|
reporterPrompt: ctx.reporterPrompt,
|
|
115
109
|
maxTurns: ctx.maxTurns,
|
|
116
110
|
trace: ctx.trace,
|
|
111
|
+
pressure: ro?.pressure,
|
|
117
112
|
});
|
|
118
113
|
const toolkit = (0, lloyal_agents_1.createToolkit)([
|
|
119
114
|
this._webSearch,
|
package/dist/sources/web.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/sources/web.ts"],"names":[],"mappings":";;;AAAA,8BAA8B;AAC9B,kCAAkC;AAElC,8DAA0E;AAK1E,oDAAoD;AACpD,oDAAoD;AACpD,wDAAwD;AACxD,yCAA+C;AAG/C,wCAAwC;AACxC,uCAAiE;AAAxD,6GAAA,iBAAiB,OAAA;AAE1B,oEAAoE;AAEpE,SAAS,QAAQ,CAAC,IAAY;IAC5B,MAAM,GAAG,GAAG,EAAE;SACX,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,KAAK,CAAC,EAAE,MAAM,CAAC;SAC3D,IAAI,EAAE,CAAC;IACV,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACnC,IAAI,GAAG,KAAK,CAAC,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACjD,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;AAC/E,CAAC;AAED,oEAAoE;AAEpE;;;;;;;;GAQG;AACH,MAAM,kBAAmB,SAAQ,0BAAa;IACpC,OAAO,CAAgB;IAE/B,YAAY,MAAqB,EAAE,
|
|
1
|
+
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/sources/web.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,7 +30,14 @@ export declare class FetchPageTool extends Tool<{
|
|
|
30
30
|
private _maxChars;
|
|
31
31
|
private _reranker;
|
|
32
32
|
private _topK;
|
|
33
|
-
|
|
33
|
+
private _timeout;
|
|
34
|
+
private _tokenBudget;
|
|
35
|
+
constructor(opts?: {
|
|
36
|
+
maxChars?: number;
|
|
37
|
+
topK?: number;
|
|
38
|
+
timeout?: number;
|
|
39
|
+
tokenBudget?: number;
|
|
40
|
+
});
|
|
34
41
|
/** Inject reranker for chunk scoring. Call from Source.bind(). */
|
|
35
42
|
setReranker(reranker: Reranker): void;
|
|
36
43
|
execute(args: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-page.d.ts","sourceRoot":"","sources":["../../src/tools/fetch-page.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAS,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE1E,OAAO,KAAK,EAAE,QAAQ,EAAe,MAAM,SAAS,CAAC;AAErD;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,aAAc,SAAQ,IAAI,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;IACtE,QAAQ,CAAC,IAAI,gBAAgB;IAC7B,QAAQ,CAAC,WAAW,0NAA0N;IAC9O,QAAQ,CAAC,UAAU,EAAE,UAAU,CAO7B;IAEF,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,KAAK,CAAS;
|
|
1
|
+
{"version":3,"file":"fetch-page.d.ts","sourceRoot":"","sources":["../../src/tools/fetch-page.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAS,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE1E,OAAO,KAAK,EAAE,QAAQ,EAAe,MAAM,SAAS,CAAC;AAErD;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,aAAc,SAAQ,IAAI,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;IACtE,QAAQ,CAAC,IAAI,gBAAgB;IAC7B,QAAQ,CAAC,WAAW,0NAA0N;IAC9O,QAAQ,CAAC,UAAU,EAAE,UAAU,CAO7B;IAEF,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,YAAY,CAAS;gBAEjB,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE;IAQ/F,kEAAkE;IAClE,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAIpC,OAAO,CAAC,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC;CAgK3F"}
|
package/dist/tools/fetch-page.js
CHANGED
|
@@ -36,10 +36,14 @@ class FetchPageTool extends lloyal_agents_1.Tool {
|
|
|
36
36
|
_maxChars;
|
|
37
37
|
_reranker = null;
|
|
38
38
|
_topK;
|
|
39
|
-
|
|
39
|
+
_timeout;
|
|
40
|
+
_tokenBudget;
|
|
41
|
+
constructor(opts) {
|
|
40
42
|
super();
|
|
41
|
-
this._maxChars = maxChars;
|
|
42
|
-
this._topK = topK;
|
|
43
|
+
this._maxChars = opts?.maxChars ?? 6000;
|
|
44
|
+
this._topK = opts?.topK ?? 5;
|
|
45
|
+
this._timeout = opts?.timeout ?? 10_000;
|
|
46
|
+
this._tokenBudget = opts?.tokenBudget ?? 2048;
|
|
43
47
|
}
|
|
44
48
|
/** Inject reranker for chunk scoring. Call from Source.bind(). */
|
|
45
49
|
setReranker(reranker) {
|
|
@@ -57,18 +61,25 @@ class FetchPageTool extends lloyal_agents_1.Tool {
|
|
|
57
61
|
const maxChars = this._maxChars;
|
|
58
62
|
const reranker = this._reranker;
|
|
59
63
|
const topK = this._topK;
|
|
64
|
+
const timeout = this._timeout;
|
|
65
|
+
const tokenBudget = this._tokenBudget;
|
|
60
66
|
// Step 1: Fetch + readability (async)
|
|
61
67
|
const fetched = yield* (0, effection_1.call)(async () => {
|
|
68
|
+
const controller = new AbortController();
|
|
69
|
+
const timer = setTimeout(() => controller.abort(), timeout);
|
|
62
70
|
let res;
|
|
63
71
|
try {
|
|
64
72
|
res = await fetch(url, {
|
|
65
73
|
headers: { 'User-Agent': 'Mozilla/5.0 (compatible; lloyal-agents/1.0)' },
|
|
66
|
-
signal:
|
|
74
|
+
signal: controller.signal,
|
|
67
75
|
});
|
|
68
76
|
}
|
|
69
77
|
catch (err) {
|
|
70
78
|
return { error: `Fetch failed: ${err.message}`, url };
|
|
71
79
|
}
|
|
80
|
+
finally {
|
|
81
|
+
clearTimeout(timer);
|
|
82
|
+
}
|
|
72
83
|
if (!res.ok)
|
|
73
84
|
return { error: `HTTP ${res.status} ${res.statusText}`, url };
|
|
74
85
|
const contentType = res.headers.get('content-type') || '';
|
|
@@ -133,7 +144,7 @@ class FetchPageTool extends lloyal_agents_1.Tool {
|
|
|
133
144
|
}
|
|
134
145
|
});
|
|
135
146
|
// Select top-K within token budget (tokens populated by tokenizeChunks)
|
|
136
|
-
const TOKEN_BUDGET =
|
|
147
|
+
const TOKEN_BUDGET = tokenBudget;
|
|
137
148
|
const topChunks = [];
|
|
138
149
|
let tokenTotal = 0;
|
|
139
150
|
for (const sc of scored.slice(0, topK)) {
|
|
@@ -141,8 +152,18 @@ class FetchPageTool extends lloyal_agents_1.Tool {
|
|
|
141
152
|
if (!chunk?.text)
|
|
142
153
|
continue;
|
|
143
154
|
const chunkTokens = chunk.tokens.length || Math.ceil(chunk.text.length / 4);
|
|
144
|
-
if (
|
|
155
|
+
if (tokenTotal + chunkTokens > TOKEN_BUDGET) {
|
|
156
|
+
if (topChunks.length === 0) {
|
|
157
|
+
// First chunk exceeds budget — truncate to budget on paragraph boundary
|
|
158
|
+
const charLimit = TOKEN_BUDGET * 4; // ~4 chars per token estimate
|
|
159
|
+
let truncated = chunk.text.slice(0, charLimit);
|
|
160
|
+
const lastBreak = Math.max(truncated.lastIndexOf('\n\n'), truncated.lastIndexOf('. '));
|
|
161
|
+
if (lastBreak > charLimit * 0.4)
|
|
162
|
+
truncated = truncated.slice(0, lastBreak + 1);
|
|
163
|
+
topChunks.push({ text: truncated + '\n\n[truncated]', heading: sc.heading, score: sc.score });
|
|
164
|
+
}
|
|
145
165
|
break;
|
|
166
|
+
}
|
|
146
167
|
topChunks.push({ text: chunk.text, heading: sc.heading, score: sc.score });
|
|
147
168
|
tokenTotal += chunkTokens;
|
|
148
169
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-page.js","sourceRoot":"","sources":["../../src/tools/fetch-page.ts"],"names":[],"mappings":";;;AAAA,yCAAiC;AAEjC,8DAAyD;AAEzD,kDAAgD;AAGhD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAa,aAAc,SAAQ,oBAAqC;IAC7D,IAAI,GAAG,YAAY,CAAC;IACpB,WAAW,GAAG,sNAAsN,CAAC;IACrO,UAAU,GAAe;QAChC,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE;YACpD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mFAAmF,EAAE;SAC5H;QACD,QAAQ,EAAE,CAAC,KAAK,CAAC;KAClB,CAAC;IAEM,SAAS,CAAS;IAClB,SAAS,GAAoB,IAAI,CAAC;IAClC,KAAK,CAAS;
|
|
1
|
+
{"version":3,"file":"fetch-page.js","sourceRoot":"","sources":["../../src/tools/fetch-page.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/grep.d.ts
CHANGED
|
@@ -21,7 +21,12 @@ export declare class GrepTool extends Tool<{
|
|
|
21
21
|
readonly description = "Search the entire corpus for a regex pattern. Returns every matching line with line numbers and total match count. Complements search() which ranks by relevance \u2014 grep scans exhaustively.";
|
|
22
22
|
readonly parameters: JsonSchema;
|
|
23
23
|
private _resources;
|
|
24
|
-
|
|
24
|
+
private _maxResults;
|
|
25
|
+
private _lineMaxChars;
|
|
26
|
+
constructor(resources: Resource[], opts?: {
|
|
27
|
+
maxResults?: number;
|
|
28
|
+
lineMaxChars?: number;
|
|
29
|
+
});
|
|
25
30
|
execute(args: {
|
|
26
31
|
pattern: string;
|
|
27
32
|
ignoreCase?: boolean;
|
package/dist/tools/grep.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grep.d.ts","sourceRoot":"","sources":["../../src/tools/grep.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;;;;;;;;GAUG;AACH,qBAAa,QAAS,SAAQ,IAAI,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;IAC3E,QAAQ,CAAC,IAAI,UAAU;IACvB,QAAQ,CAAC,WAAW,sMAAiM;IACrN,QAAQ,CAAC,UAAU,EAAE,UAAU,CAO7B;IAEF,OAAO,CAAC,UAAU,CAAa;
|
|
1
|
+
{"version":3,"file":"grep.d.ts","sourceRoot":"","sources":["../../src/tools/grep.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;;;;;;;;GAUG;AACH,qBAAa,QAAS,SAAQ,IAAI,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;IAC3E,QAAQ,CAAC,IAAI,UAAU;IACvB,QAAQ,CAAC,WAAW,sMAAiM;IACrN,QAAQ,CAAC,UAAU,EAAE,UAAU,CAO7B;IAEF,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAS;gBAElB,SAAS,EAAE,QAAQ,EAAE,EAAE,IAAI,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE;IAOvF,OAAO,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS,CAAC,OAAO,CAAC;CA4C9E"}
|
package/dist/tools/grep.js
CHANGED
|
@@ -25,9 +25,13 @@ class GrepTool extends lloyal_agents_1.Tool {
|
|
|
25
25
|
required: ['pattern'],
|
|
26
26
|
};
|
|
27
27
|
_resources;
|
|
28
|
-
|
|
28
|
+
_maxResults;
|
|
29
|
+
_lineMaxChars;
|
|
30
|
+
constructor(resources, opts) {
|
|
29
31
|
super();
|
|
30
32
|
this._resources = resources;
|
|
33
|
+
this._maxResults = opts?.maxResults ?? 50;
|
|
34
|
+
this._lineMaxChars = opts?.lineMaxChars ?? 200;
|
|
31
35
|
}
|
|
32
36
|
*execute(args) {
|
|
33
37
|
const pattern = args.pattern?.trim();
|
|
@@ -51,13 +55,14 @@ class GrepTool extends lloyal_agents_1.Tool {
|
|
|
51
55
|
totalMatches += hits.length;
|
|
52
56
|
const raw = lines[i].trim();
|
|
53
57
|
let text;
|
|
54
|
-
|
|
58
|
+
const maxChars = this._lineMaxChars;
|
|
59
|
+
if (raw.length <= maxChars) {
|
|
55
60
|
text = raw;
|
|
56
61
|
}
|
|
57
62
|
else {
|
|
58
63
|
const idx = raw.search(re);
|
|
59
64
|
const start = Math.max(0, idx - 40);
|
|
60
|
-
const end = Math.min(raw.length, start +
|
|
65
|
+
const end = Math.min(raw.length, start + maxChars);
|
|
61
66
|
text = (start > 0 ? '\u2026' : '') + raw.slice(start, end) + (end < raw.length ? '\u2026' : '');
|
|
62
67
|
}
|
|
63
68
|
matches.push({ file: res.name, line: i + 1, text });
|
|
@@ -70,7 +75,7 @@ class GrepTool extends lloyal_agents_1.Tool {
|
|
|
70
75
|
note: 'Zero matches does NOT mean the topic is absent \u2014 only that this exact pattern was not found. Try search() for semantic matching or a broader/simpler regex.',
|
|
71
76
|
};
|
|
72
77
|
}
|
|
73
|
-
const limit =
|
|
78
|
+
const limit = this._maxResults;
|
|
74
79
|
const truncated = matches.length > limit;
|
|
75
80
|
return { totalMatches, matchingLines: matches.length, truncated, matches: matches.slice(0, limit) };
|
|
76
81
|
}
|
package/dist/tools/grep.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grep.js","sourceRoot":"","sources":["../../src/tools/grep.ts"],"names":[],"mappings":";;;AACA,8DAAkD;AAIlD;;;;;;;;;;GAUG;AACH,MAAa,QAAS,SAAQ,oBAA+C;IAClE,IAAI,GAAG,MAAM,CAAC;IACd,WAAW,GAAG,6LAA6L,CAAC;IAC5M,UAAU,GAAe;QAChC,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+EAA+E,EAAE;YACzH,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,2CAA2C,EAAE;SAC1F;QACD,QAAQ,EAAE,CAAC,SAAS,CAAC;KACtB,CAAC;IAEM,UAAU,CAAa;
|
|
1
|
+
{"version":3,"file":"grep.js","sourceRoot":"","sources":["../../src/tools/grep.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/plan.d.ts
CHANGED
|
@@ -17,6 +17,8 @@ export interface PlanToolOpts {
|
|
|
17
17
|
session: Session;
|
|
18
18
|
/** Maximum number of sub-questions the planner may produce. */
|
|
19
19
|
maxQuestions: number;
|
|
20
|
+
/** Sampling temperature for plan generation. @default 0.3 */
|
|
21
|
+
temperature?: number;
|
|
20
22
|
}
|
|
21
23
|
/**
|
|
22
24
|
* A single sub-question produced by the planner with intent classification.
|
|
@@ -67,6 +69,7 @@ export declare class PlanTool extends Tool<{
|
|
|
67
69
|
private _prompt;
|
|
68
70
|
private _session;
|
|
69
71
|
private _maxQuestions;
|
|
72
|
+
private _temperature;
|
|
70
73
|
constructor(opts: PlanToolOpts);
|
|
71
74
|
execute(args: {
|
|
72
75
|
query: string;
|
package/dist/tools/plan.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/tools/plan.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAiB,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAG3C;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,uGAAuG;IACvG,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,8EAA8E;IAC9E,OAAO,EAAE,OAAO,CAAC;IACjB,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,qFAAqF;IACrF,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC;CAChC;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,mFAAmF;IACnF,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,kDAAkD;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,QAAS,SAAQ,IAAI,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;IACrE,QAAQ,CAAC,IAAI,UAAU;IACvB,QAAQ,CAAC,WAAW,sNAAkN;IACtO,QAAQ,CAAC,UAAU,EAAE,UAAU,CAO7B;IAEF,OAAO,CAAC,OAAO,CAAmC;IAClD,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,aAAa,CAAS;
|
|
1
|
+
{"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/tools/plan.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAiB,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAG3C;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,uGAAuG;IACvG,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,8EAA8E;IAC9E,OAAO,EAAE,OAAO,CAAC;IACjB,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,qFAAqF;IACrF,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC;CAChC;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,mFAAmF;IACnF,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,kDAAkD;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,QAAS,SAAQ,IAAI,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;IACrE,QAAQ,CAAC,IAAI,UAAU;IACvB,QAAQ,CAAC,WAAW,sNAAkN;IACtO,QAAQ,CAAC,UAAU,EAAE,UAAU,CAO7B;IAEF,OAAO,CAAC,OAAO,CAAmC;IAClD,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAS;gBAEjB,IAAI,EAAE,YAAY;IAQ7B,OAAO,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC,OAAO,CAAC;CA4DxE"}
|
package/dist/tools/plan.js
CHANGED
|
@@ -32,9 +32,11 @@ class PlanTool extends lloyal_agents_1.Tool {
|
|
|
32
32
|
_prompt;
|
|
33
33
|
_session;
|
|
34
34
|
_maxQuestions;
|
|
35
|
+
_temperature;
|
|
35
36
|
constructor(opts) {
|
|
36
37
|
super();
|
|
37
38
|
this._prompt = opts.prompt;
|
|
39
|
+
this._temperature = opts.temperature ?? 0.3;
|
|
38
40
|
this._session = opts.session;
|
|
39
41
|
this._maxQuestions = opts.maxQuestions;
|
|
40
42
|
}
|
|
@@ -75,7 +77,7 @@ class PlanTool extends lloyal_agents_1.Tool {
|
|
|
75
77
|
const result = yield* (0, lloyal_agents_1.generate)({
|
|
76
78
|
prompt,
|
|
77
79
|
grammar,
|
|
78
|
-
params: { temperature:
|
|
80
|
+
params: { temperature: this._temperature },
|
|
79
81
|
parent,
|
|
80
82
|
});
|
|
81
83
|
const { output, tokenCount } = result;
|
package/dist/tools/plan.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/tools/plan.ts"],"names":[],"mappings":";;;AAAA,yCAAiC;AAEjC,8DAAiE;
|
|
1
|
+
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/tools/plan.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,7 +52,10 @@ export declare class ReadFileTool extends Tool<{
|
|
|
52
52
|
readonly parameters: JsonSchema;
|
|
53
53
|
private _resources;
|
|
54
54
|
private _readRanges;
|
|
55
|
-
|
|
55
|
+
private _defaultMaxLines;
|
|
56
|
+
constructor(resources: Resource[], opts?: {
|
|
57
|
+
defaultMaxLines?: number;
|
|
58
|
+
});
|
|
56
59
|
execute(args: {
|
|
57
60
|
filename: string;
|
|
58
61
|
startLine?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read-file.d.ts","sourceRoot":"","sources":["../../src/tools/read-file.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAC5B,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EACxB,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAC1B,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAYpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAa1E;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,YAAa,SAAQ,IAAI,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;IAChG,QAAQ,CAAC,IAAI,eAAe;IAC5B,QAAQ,CAAC,WAAW,kGAAkG;IACtH,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAEhC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,WAAW,CAAyC;
|
|
1
|
+
{"version":3,"file":"read-file.d.ts","sourceRoot":"","sources":["../../src/tools/read-file.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAC5B,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EACxB,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAC1B,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAYpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAa1E;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,YAAa,SAAQ,IAAI,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;IAChG,QAAQ,CAAC,IAAI,eAAe;IAC5B,QAAQ,CAAC,WAAW,kGAAkG;IACtH,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAEhC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,WAAW,CAAyC;IAC5D,OAAO,CAAC,gBAAgB,CAAS;gBAErB,SAAS,EAAE,QAAQ,EAAE,EAAE,IAAI,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE;IAmBrE,OAAO,CACN,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1F,OAAO,CAAC,EAAE,WAAW,GACpB,SAAS,CAAC,OAAO,CAAC;CA2BtB"}
|
package/dist/tools/read-file.js
CHANGED
|
@@ -80,9 +80,11 @@ class ReadFileTool extends lloyal_agents_1.Tool {
|
|
|
80
80
|
parameters;
|
|
81
81
|
_resources;
|
|
82
82
|
_readRanges = new Map();
|
|
83
|
-
|
|
83
|
+
_defaultMaxLines;
|
|
84
|
+
constructor(resources, opts) {
|
|
84
85
|
super();
|
|
85
86
|
this._resources = resources;
|
|
87
|
+
this._defaultMaxLines = opts?.defaultMaxLines ?? 100;
|
|
86
88
|
this.parameters = {
|
|
87
89
|
type: 'object',
|
|
88
90
|
properties: {
|
|
@@ -105,7 +107,7 @@ class ReadFileTool extends lloyal_agents_1.Tool {
|
|
|
105
107
|
}
|
|
106
108
|
const lines = file.content.split('\n');
|
|
107
109
|
const s = Math.max(0, (args.startLine ?? 1) - 1);
|
|
108
|
-
const e = Math.min(lines.length, args.endLine ?? Math.min(
|
|
110
|
+
const e = Math.min(lines.length, args.endLine ?? Math.min(this._defaultMaxLines, lines.length));
|
|
109
111
|
const key = context ? `${context.agentId}:${filename}` : filename;
|
|
110
112
|
const prev = this._readRanges.get(key) ?? [];
|
|
111
113
|
const unread = subtractRanges([s, e], prev);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read-file.js","sourceRoot":"","sources":["../../src/tools/read-file.ts"],"names":[],"mappings":";;;AAmBA,wCAeC;AAcD,kCAaC;AA5DD,8DAAkD;AAIlD;;;;;;;;;;;;;GAaG;AACH,SAAgB,cAAc,CAC5B,CAAC,CAAC,EAAE,CAAC,CAAmB,EACxB,OAA2B;IAE3B,IAAI,MAAM,GAAuB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1C,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC;QAC/B,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAsB,EAAE;YACrD,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;gBAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACxC,MAAM,MAAM,GAAuB,EAAE,CAAC;YACtC,IAAI,CAAC,GAAG,EAAE;gBAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACjC,IAAI,EAAE,GAAG,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YACjC,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,WAAW,CAAC,MAA0B;IACpD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,MAAM,MAAM,GAAuB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAa,YAAa,SAAQ,oBAAgE;IACvF,IAAI,GAAG,WAAW,CAAC;IACnB,WAAW,GAAG,8FAA8F,CAAC;IAC7G,UAAU,CAAa;IAExB,UAAU,CAAa;IACvB,WAAW,GAAG,IAAI,GAAG,EAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"read-file.js","sourceRoot":"","sources":["../../src/tools/read-file.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/report.d.ts
CHANGED
|
@@ -15,8 +15,14 @@ export declare class ReportTool extends Tool<{
|
|
|
15
15
|
findings: string;
|
|
16
16
|
}> {
|
|
17
17
|
readonly name = "report";
|
|
18
|
-
readonly description
|
|
18
|
+
readonly description: string;
|
|
19
19
|
readonly parameters: JsonSchema;
|
|
20
|
+
constructor(opts?: {
|
|
21
|
+
/** Override the tool description shown in the agent's tool schema. */
|
|
22
|
+
description?: string;
|
|
23
|
+
/** Override the findings parameter description. */
|
|
24
|
+
findingsDescription?: string;
|
|
25
|
+
});
|
|
20
26
|
execute(): Operation<unknown>;
|
|
21
27
|
}
|
|
22
28
|
//# sourceMappingURL=report.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/tools/report.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE7D;;;;;;;;;GASG;AACH,qBAAa,UAAW,SAAQ,IAAI,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;IACxD,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,WAAW,
|
|
1
|
+
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/tools/report.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE7D;;;;;;;;;GASG;AACH,qBAAa,UAAW,SAAQ,IAAI,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;IACxD,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;gBAEpB,IAAI,CAAC,EAAE;QACjB,sEAAsE;QACtE,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,mDAAmD;QACnD,mBAAmB,CAAC,EAAE,MAAM,CAAC;KAC9B;IAiBA,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC;CAC/B"}
|
package/dist/tools/report.js
CHANGED
|
@@ -14,12 +14,24 @@ const lloyal_agents_1 = require("@lloyal-labs/lloyal-agents");
|
|
|
14
14
|
*/
|
|
15
15
|
class ReportTool extends lloyal_agents_1.Tool {
|
|
16
16
|
name = 'report';
|
|
17
|
-
description
|
|
18
|
-
parameters
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
description;
|
|
18
|
+
parameters;
|
|
19
|
+
constructor(opts) {
|
|
20
|
+
super();
|
|
21
|
+
this.description = opts?.description ??
|
|
22
|
+
'Submit your final research findings with specific evidence, direct quotes, data points, and source URLs from the pages you read. State what you found AND what you checked but could not find. Do not summarize — preserve detail.';
|
|
23
|
+
this.parameters = {
|
|
24
|
+
type: 'object',
|
|
25
|
+
properties: {
|
|
26
|
+
findings: {
|
|
27
|
+
type: 'string',
|
|
28
|
+
description: opts?.findingsDescription ??
|
|
29
|
+
'Detailed findings with direct quotes, data points, and source URLs. Include what was found and what was not found.',
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
required: ['findings'],
|
|
33
|
+
};
|
|
34
|
+
}
|
|
23
35
|
*execute() { return {}; }
|
|
24
36
|
}
|
|
25
37
|
exports.ReportTool = ReportTool;
|
package/dist/tools/report.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/tools/report.ts"],"names":[],"mappings":";;;AACA,8DAAkD;AAGlD;;;;;;;;;GASG;AACH,MAAa,UAAW,SAAQ,oBAA0B;IAC/C,IAAI,GAAG,QAAQ,CAAC;IAChB,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/tools/report.ts"],"names":[],"mappings":";;;AACA,8DAAkD;AAGlD;;;;;;;;;GASG;AACH,MAAa,UAAW,SAAQ,oBAA0B;IAC/C,IAAI,GAAG,QAAQ,CAAC;IAChB,WAAW,CAAS;IACpB,UAAU,CAAa;IAEhC,YAAY,IAKX;QACC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,WAAW,GAAG,IAAI,EAAE,WAAW;YAClC,oOAAoO,CAAC;QACvO,IAAI,CAAC,UAAU,GAAG;YAChB,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,IAAI,EAAE,mBAAmB;wBACpC,oHAAoH;iBACvH;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB,CAAC;IACJ,CAAC;IAED,CAAC,OAAO,KAAyB,OAAO,EAAE,CAAC,CAAC,CAAC;CAC9C;AA5BD,gCA4BC"}
|
package/dist/tools/research.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Operation } from 'effection';
|
|
2
2
|
import { Tool } from '@lloyal-labs/lloyal-agents';
|
|
3
|
-
import type { JsonSchema, Toolkit, PressureThresholds } from '@lloyal-labs/lloyal-agents';
|
|
3
|
+
import type { JsonSchema, Toolkit, ToolContext, PressureThresholds } from '@lloyal-labs/lloyal-agents';
|
|
4
4
|
/**
|
|
5
5
|
* Configuration for {@link ResearchTool}
|
|
6
6
|
*
|
|
@@ -52,6 +52,6 @@ export declare class ResearchTool extends Tool<{
|
|
|
52
52
|
setToolkit(toolkit: Toolkit): void;
|
|
53
53
|
execute(args: {
|
|
54
54
|
questions: string[];
|
|
55
|
-
}): Operation<unknown>;
|
|
55
|
+
}, context?: ToolContext): Operation<unknown>;
|
|
56
56
|
}
|
|
57
57
|
//# sourceMappingURL=research.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"research.d.ts","sourceRoot":"","sources":["../../src/tools/research.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"research.d.ts","sourceRoot":"","sources":["../../src/tools/research.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAmD,MAAM,4BAA4B,CAAC;AACnG,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEvG;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,oDAAoD;IACpD,YAAY,EAAE,MAAM,CAAC;IACrB,gEAAgE;IAChE,cAAc,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,YAAa,SAAQ,IAAI,CAAC;IAAE,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;IAC7D,QAAQ,CAAC,IAAI,cAAc;IAC3B,QAAQ,CAAC,WAAW,oGAAoG;IACxH,QAAQ,CAAC,UAAU,EAAE,UAAU,CAU7B;IAEF,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,eAAe,CAAmC;IAC1D,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,SAAS,CAAC,CAAqB;IACvC,OAAO,CAAC,QAAQ,CAAwB;gBAE5B,IAAI,EAAE,gBAAgB;IASlC,kFAAkF;IAClF,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIjC,OAAO,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC;CA+CnF"}
|
package/dist/tools/research.js
CHANGED
|
@@ -48,7 +48,7 @@ class ResearchTool extends lloyal_agents_1.Tool {
|
|
|
48
48
|
setToolkit(toolkit) {
|
|
49
49
|
this._toolkit = toolkit;
|
|
50
50
|
}
|
|
51
|
-
*execute(args) {
|
|
51
|
+
*execute(args, context) {
|
|
52
52
|
const questions = args?.questions;
|
|
53
53
|
if (!Array.isArray(questions) || questions.length === 0) {
|
|
54
54
|
return { error: 'questions must be a non-empty array of strings', example: '{"questions": ["q1", "q2"]}' };
|
|
@@ -63,7 +63,7 @@ class ResearchTool extends lloyal_agents_1.Tool {
|
|
|
63
63
|
const maxTurns = this._maxTurns;
|
|
64
64
|
const trace = this._trace;
|
|
65
65
|
const pressure = this._pressure;
|
|
66
|
-
return yield* (0, lloyal_agents_1.withSharedRoot)({ systemPrompt, tools: toolkit.toolsJson }, function* (root) {
|
|
66
|
+
return yield* (0, lloyal_agents_1.withSharedRoot)({ systemPrompt, tools: toolkit.toolsJson, parent: context?.branch }, function* (root) {
|
|
67
67
|
const pool = yield* (0, lloyal_agents_1.useAgentPool)({
|
|
68
68
|
tasks: questions.map(q => ({
|
|
69
69
|
systemPrompt,
|
|
@@ -73,37 +73,15 @@ class ResearchTool extends lloyal_agents_1.Tool {
|
|
|
73
73
|
})),
|
|
74
74
|
tools: toolkit.toolMap,
|
|
75
75
|
terminalTool: 'report',
|
|
76
|
+
pruneOnReport: true,
|
|
76
77
|
maxTurns,
|
|
77
78
|
trace,
|
|
78
79
|
pressure,
|
|
80
|
+
reportPrompt: reporterPrompt,
|
|
79
81
|
});
|
|
80
|
-
// Force hard-cut agents to report — same pattern as prior harness reportPass
|
|
81
|
-
const hardCut = pool.agents.filter(a => !a.findings && !a.branch.disposed);
|
|
82
|
-
if (hardCut.length > 0) {
|
|
83
|
-
for (const a of pool.agents) {
|
|
84
|
-
if (a.findings && !a.branch.disposed)
|
|
85
|
-
a.branch.pruneSync();
|
|
86
|
-
}
|
|
87
|
-
const reportTool = toolkit.toolMap.get('report');
|
|
88
|
-
const reporters = yield* (0, lloyal_agents_1.runAgents)({
|
|
89
|
-
tasks: hardCut.map(a => ({
|
|
90
|
-
systemPrompt: reporterPrompt.system,
|
|
91
|
-
content: reporterPrompt.user,
|
|
92
|
-
tools: JSON.stringify([reportTool.schema]),
|
|
93
|
-
parent: a.branch,
|
|
94
|
-
})),
|
|
95
|
-
tools: new Map([['report', reportTool]]),
|
|
96
|
-
terminalTool: 'report',
|
|
97
|
-
trace,
|
|
98
|
-
pressure: { softLimit: 200, hardLimit: 64 },
|
|
99
|
-
});
|
|
100
|
-
hardCut.forEach((a, i) => {
|
|
101
|
-
if (reporters.agents[i]?.findings)
|
|
102
|
-
a.findings = reporters.agents[i].findings;
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
82
|
const result = {
|
|
106
83
|
findings: pool.agents.map(a => a.findings).filter(Boolean),
|
|
84
|
+
supportingFindings: pool.agents.flatMap(a => a.childFindings ?? []),
|
|
107
85
|
agentCount: pool.agents.length,
|
|
108
86
|
totalTokens: pool.totalTokens,
|
|
109
87
|
totalToolCalls: pool.totalToolCalls,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"research.js","sourceRoot":"","sources":["../../src/tools/research.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"research.js","sourceRoot":"","sources":["../../src/tools/research.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Operation } from "effection";
|
|
2
2
|
import { Tool } from "@lloyal-labs/lloyal-agents";
|
|
3
|
-
import type { JsonSchema, Toolkit, PressureThresholds } from "@lloyal-labs/lloyal-agents";
|
|
3
|
+
import type { JsonSchema, Toolkit, ToolContext, PressureThresholds } from "@lloyal-labs/lloyal-agents";
|
|
4
4
|
/**
|
|
5
5
|
* Configuration for {@link WebResearchTool}.
|
|
6
6
|
*
|
|
@@ -55,6 +55,6 @@ export declare class WebResearchTool extends Tool<{
|
|
|
55
55
|
setToolkit(toolkit: Toolkit): void;
|
|
56
56
|
execute(args: {
|
|
57
57
|
questions: string[];
|
|
58
|
-
}): Operation<unknown>;
|
|
58
|
+
}, context?: ToolContext): Operation<unknown>;
|
|
59
59
|
}
|
|
60
60
|
//# sourceMappingURL=web-research.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-research.d.ts","sourceRoot":"","sources":["../../src/tools/web-research.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"web-research.d.ts","sourceRoot":"","sources":["../../src/tools/web-research.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EACL,IAAI,EAKL,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACV,UAAU,EACV,OAAO,EACP,WAAW,EACX,kBAAkB,EACnB,MAAM,4BAA4B,CAAC;AAEpC;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,4EAA4E;IAC5E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kEAAkE;IAClE,YAAY,EAAE,MAAM,CAAC;IACrB,qFAAqF;IACrF,cAAc,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,eAAgB,SAAQ,IAAI,CAAC;IAAE,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;IAChE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAU7B;IAEF,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,eAAe,CAAmC;IAC1D,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,SAAS,CAAC,CAAqB;IACvC,OAAO,CAAC,QAAQ,CAAwB;gBAE5B,IAAI,EAAE,mBAAmB;IAarC,kFAAkF;IAClF,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIjC,OAAO,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC;CAsDnF"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.WebResearchTool = void 0;
|
|
4
|
-
const effection_1 = require("effection");
|
|
5
4
|
const lloyal_agents_1 = require("@lloyal-labs/lloyal-agents");
|
|
6
5
|
/**
|
|
7
6
|
* Spawn parallel web-research sub-agents for a set of questions.
|
|
@@ -52,7 +51,7 @@ class WebResearchTool extends lloyal_agents_1.Tool {
|
|
|
52
51
|
setToolkit(toolkit) {
|
|
53
52
|
this._toolkit = toolkit;
|
|
54
53
|
}
|
|
55
|
-
*execute(args) {
|
|
54
|
+
*execute(args, context) {
|
|
56
55
|
const questions = args?.questions;
|
|
57
56
|
if (!Array.isArray(questions) || questions.length === 0) {
|
|
58
57
|
return {
|
|
@@ -70,7 +69,7 @@ class WebResearchTool extends lloyal_agents_1.Tool {
|
|
|
70
69
|
const maxTurns = this._maxTurns;
|
|
71
70
|
const trace = this._trace;
|
|
72
71
|
const pressure = this._pressure;
|
|
73
|
-
return yield* (0, lloyal_agents_1.withSharedRoot)({ systemPrompt, tools: toolkit.toolsJson }, function* (root) {
|
|
72
|
+
return yield* (0, lloyal_agents_1.withSharedRoot)({ systemPrompt, tools: toolkit.toolsJson, parent: context?.branch }, function* (root) {
|
|
74
73
|
const pool = yield* (0, lloyal_agents_1.useAgentPool)({
|
|
75
74
|
tasks: questions.map((q) => ({
|
|
76
75
|
systemPrompt,
|
|
@@ -80,49 +79,15 @@ class WebResearchTool extends lloyal_agents_1.Tool {
|
|
|
80
79
|
})),
|
|
81
80
|
tools: toolkit.toolMap,
|
|
82
81
|
terminalTool: "report",
|
|
82
|
+
pruneOnReport: true,
|
|
83
83
|
maxTurns,
|
|
84
84
|
trace,
|
|
85
85
|
pressure,
|
|
86
|
+
reportPrompt: reporterPrompt,
|
|
86
87
|
});
|
|
87
|
-
// Scratchpad extraction for hard-cut agents — works under pressure
|
|
88
|
-
const hardCut = pool.agents.filter((a) => !a.findings && !a.branch.disposed);
|
|
89
|
-
if (hardCut.length > 0) {
|
|
90
|
-
for (const a of pool.agents) {
|
|
91
|
-
if (a.findings && !a.branch.disposed)
|
|
92
|
-
a.branch.pruneSync();
|
|
93
|
-
}
|
|
94
|
-
const ctx = yield* lloyal_agents_1.Ctx.expect();
|
|
95
|
-
const schema = {
|
|
96
|
-
type: "object",
|
|
97
|
-
properties: { findings: { type: "string" } },
|
|
98
|
-
required: ["findings"],
|
|
99
|
-
};
|
|
100
|
-
const grammar = yield* (0, effection_1.call)(() => ctx.jsonSchemaToGrammar(JSON.stringify(schema)));
|
|
101
|
-
const msgs = [
|
|
102
|
-
{ role: "system", content: reporterPrompt.system },
|
|
103
|
-
{ role: "user", content: reporterPrompt.user },
|
|
104
|
-
];
|
|
105
|
-
const { prompt } = ctx.formatChatSync(JSON.stringify(msgs), { enableThinking: false });
|
|
106
|
-
for (const a of hardCut) {
|
|
107
|
-
try {
|
|
108
|
-
const result = yield* (0, lloyal_agents_1.generate)({
|
|
109
|
-
prompt,
|
|
110
|
-
grammar,
|
|
111
|
-
parse: (o) => JSON.parse(o),
|
|
112
|
-
parent: a.branch,
|
|
113
|
-
});
|
|
114
|
-
if (result.parsed?.findings)
|
|
115
|
-
a.findings = result.parsed.findings;
|
|
116
|
-
}
|
|
117
|
-
catch {
|
|
118
|
-
/* extraction failure non-fatal */
|
|
119
|
-
}
|
|
120
|
-
if (!a.branch.disposed)
|
|
121
|
-
a.branch.pruneSync();
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
88
|
const result = {
|
|
125
89
|
findings: pool.agents.map((a) => a.findings).filter(Boolean),
|
|
90
|
+
supportingFindings: pool.agents.flatMap((a) => a.childFindings ?? []),
|
|
126
91
|
agentCount: pool.agents.length,
|
|
127
92
|
totalTokens: pool.totalTokens,
|
|
128
93
|
totalToolCalls: pool.totalToolCalls,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-research.js","sourceRoot":"","sources":["../../src/tools/web-research.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"web-research.js","sourceRoot":"","sources":["../../src/tools/web-research.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lloyal-labs/rig",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "Retrieval-Interleaved Generation for lloyal-agents",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -40,11 +40,11 @@
|
|
|
40
40
|
"build": "tsc -b && mkdir -p dist/sources && cp src/sources/*.md dist/sources/"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@lloyal-labs/sdk": "*",
|
|
44
43
|
"@lloyal-labs/lloyal-agents": "*",
|
|
44
|
+
"@lloyal-labs/sdk": "*",
|
|
45
|
+
"@mozilla/readability": "^0.6.0",
|
|
45
46
|
"effection": "^4.0.2",
|
|
46
|
-
"linkedom": "^0.18.12"
|
|
47
|
-
"@mozilla/readability": "^0.6.0"
|
|
47
|
+
"linkedom": "^0.18.12"
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|
|
50
50
|
"@lloyal-labs/lloyal.node": "^2.0.2"
|