@uwmd/core 1.1.2 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/dist/agents/bancroft.d.ts +22 -1
- package/dist/agents/bancroft.d.ts.map +1 -1
- package/dist/agents/bancroft.js +86 -60
- package/dist/agents/bancroft.js.map +1 -1
- package/dist/agents/provider.d.ts +62 -0
- package/dist/agents/provider.d.ts.map +1 -0
- package/dist/agents/provider.js +28 -0
- package/dist/agents/provider.js.map +1 -0
- package/dist/agents/providers/anthropic.d.ts +20 -0
- package/dist/agents/providers/anthropic.d.ts.map +1 -0
- package/dist/agents/providers/anthropic.js +104 -0
- package/dist/agents/providers/anthropic.js.map +1 -0
- package/dist/agents/providers/replay.d.ts +46 -0
- package/dist/agents/providers/replay.d.ts.map +1 -0
- package/dist/agents/providers/replay.js +162 -0
- package/dist/agents/providers/replay.js.map +1 -0
- package/dist/agents/schemas.d.ts +3 -3
- package/dist/agents/schemas.d.ts.map +1 -1
- package/dist/agents/schemas.js.map +1 -1
- package/dist/browser.d.ts +33 -4
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +26 -3
- package/dist/browser.js.map +1 -1
- package/dist/calc/builtins.d.ts +10 -0
- package/dist/calc/builtins.d.ts.map +1 -1
- package/dist/calc/builtins.js +64 -42
- package/dist/calc/builtins.js.map +1 -1
- package/dist/calc/errors.js +1 -1
- package/dist/calc/evaluator.js +6 -2
- package/dist/calc/evaluator.js.map +1 -1
- package/dist/calc/index.d.ts +7 -0
- package/dist/calc/index.d.ts.map +1 -1
- package/dist/calc/index.js +13 -1
- package/dist/calc/index.js.map +1 -1
- package/dist/calc/quantize.d.ts +56 -0
- package/dist/calc/quantize.d.ts.map +1 -0
- package/dist/calc/quantize.js +116 -0
- package/dist/calc/quantize.js.map +1 -0
- package/dist/cascade.d.ts +60 -6
- package/dist/cascade.d.ts.map +1 -1
- package/dist/cascade.js +93 -14
- package/dist/cascade.js.map +1 -1
- package/dist/cli-packages.d.ts +11 -0
- package/dist/cli-packages.d.ts.map +1 -0
- package/dist/cli-packages.js +177 -0
- package/dist/cli-packages.js.map +1 -0
- package/dist/cli.js +691 -37
- package/dist/cli.js.map +1 -1
- package/dist/composition.d.ts +182 -0
- package/dist/composition.d.ts.map +1 -0
- package/dist/composition.js +536 -0
- package/dist/composition.js.map +1 -0
- package/dist/deal-package-context.d.ts +52 -0
- package/dist/deal-package-context.d.ts.map +1 -0
- package/dist/deal-package-context.js +132 -0
- package/dist/deal-package-context.js.map +1 -0
- package/dist/deal-package-zip.d.ts +36 -0
- package/dist/deal-package-zip.d.ts.map +1 -0
- package/dist/deal-package-zip.js +132 -0
- package/dist/deal-package-zip.js.map +1 -0
- package/dist/deal-package.d.ts +82 -0
- package/dist/deal-package.d.ts.map +1 -0
- package/dist/deal-package.js +189 -0
- package/dist/deal-package.js.map +1 -0
- package/dist/defaults.d.ts +48 -0
- package/dist/defaults.d.ts.map +1 -1
- package/dist/defaults.js +512 -0
- package/dist/defaults.js.map +1 -1
- package/dist/index.d.ts +39 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +30 -3
- package/dist/index.js.map +1 -1
- package/dist/init.js +1 -1
- package/dist/init.js.map +1 -1
- package/dist/integrity.d.ts +9 -0
- package/dist/integrity.d.ts.map +1 -1
- package/dist/integrity.js +12 -2
- package/dist/integrity.js.map +1 -1
- package/dist/lease-abstract.d.ts +82 -0
- package/dist/lease-abstract.d.ts.map +1 -0
- package/dist/lease-abstract.js +183 -0
- package/dist/lease-abstract.js.map +1 -0
- package/dist/lite-bridge.d.ts +67 -0
- package/dist/lite-bridge.d.ts.map +1 -0
- package/dist/lite-bridge.js +564 -0
- package/dist/lite-bridge.js.map +1 -0
- package/dist/lite.d.ts +63 -0
- package/dist/lite.d.ts.map +1 -0
- package/dist/lite.js +398 -0
- package/dist/lite.js.map +1 -0
- package/dist/market-data.d.ts +134 -0
- package/dist/market-data.d.ts.map +1 -0
- package/dist/market-data.js +292 -0
- package/dist/market-data.js.map +1 -0
- package/dist/modules.d.ts.map +1 -1
- package/dist/modules.js +278 -13
- package/dist/modules.js.map +1 -1
- package/dist/packs/excel-emit.d.ts +18 -1
- package/dist/packs/excel-emit.d.ts.map +1 -1
- package/dist/packs/excel-emit.js +18 -1
- package/dist/packs/excel-emit.js.map +1 -1
- package/dist/packs/hospitality.d.ts +3 -0
- package/dist/packs/hospitality.d.ts.map +1 -0
- package/dist/packs/hospitality.js +122 -0
- package/dist/packs/hospitality.js.map +1 -0
- package/dist/packs/index.d.ts +5 -1
- package/dist/packs/index.d.ts.map +1 -1
- package/dist/packs/index.js +13 -1
- package/dist/packs/index.js.map +1 -1
- package/dist/packs/land.d.ts +3 -0
- package/dist/packs/land.d.ts.map +1 -0
- package/dist/packs/land.js +124 -0
- package/dist/packs/land.js.map +1 -0
- package/dist/packs/senior-housing.d.ts +3 -0
- package/dist/packs/senior-housing.d.ts.map +1 -0
- package/dist/packs/senior-housing.js +123 -0
- package/dist/packs/senior-housing.js.map +1 -0
- package/dist/packs/student-housing.d.ts +3 -0
- package/dist/packs/student-housing.d.ts.map +1 -0
- package/dist/packs/student-housing.js +124 -0
- package/dist/packs/student-housing.js.map +1 -0
- package/dist/parser.d.ts +9 -0
- package/dist/parser.d.ts.map +1 -1
- package/dist/parser.js +40 -6
- package/dist/parser.js.map +1 -1
- package/dist/protocol.d.ts +125 -9
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +182 -4
- package/dist/protocol.js.map +1 -1
- package/dist/receipts.d.ts +396 -0
- package/dist/receipts.d.ts.map +1 -0
- package/dist/receipts.js +913 -0
- package/dist/receipts.js.map +1 -0
- package/dist/runner.d.ts +13 -0
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +5 -5
- package/dist/runner.js.map +1 -1
- package/dist/source-representation.d.ts +40 -0
- package/dist/source-representation.d.ts.map +1 -0
- package/dist/source-representation.js +114 -0
- package/dist/source-representation.js.map +1 -0
- package/dist/types.d.ts +63 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +34 -0
- package/dist/types.js.map +1 -1
- package/dist/uwcsv.d.ts.map +1 -1
- package/dist/uwcsv.js +10 -78
- package/dist/uwcsv.js.map +1 -1
- package/dist/uwxml.d.ts.map +1 -1
- package/dist/uwxml.js +10 -2
- package/dist/uwxml.js.map +1 -1
- package/dist/validator.d.ts.map +1 -1
- package/dist/validator.js +27 -10
- package/dist/validator.js.map +1 -1
- package/dist/version.d.ts +3 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +8 -0
- package/dist/version.js.map +1 -0
- package/dist/zip-safety.d.ts +15 -0
- package/dist/zip-safety.d.ts.map +1 -0
- package/dist/zip-safety.js +109 -0
- package/dist/zip-safety.js.map +1 -0
- package/package.json +12 -3
package/README.md
CHANGED
|
@@ -23,7 +23,7 @@ core render targets throw `UnsupportedRenderFormatError`; use `@uwmd/report` for
|
|
|
23
23
|
PDF generation.
|
|
24
24
|
|
|
25
25
|
Specification, examples, and conformance fixtures:
|
|
26
|
-
[github.com/
|
|
26
|
+
[github.com/UWMD-OSP/UW-Markdown](https://github.com/UWMD-OSP/UW-Markdown).
|
|
27
27
|
|
|
28
28
|
## Machine interchange
|
|
29
29
|
|
|
@@ -49,7 +49,7 @@ const csvZip = await encodeUWCSVZip(verified);
|
|
|
49
49
|
const json = await CORE_CODEC_REGISTRY.encode<string>('uw-json', verified);
|
|
50
50
|
```
|
|
51
51
|
|
|
52
|
-
See the [UW XML Mapping 1.0](https://github.com/
|
|
52
|
+
See the [UW XML Mapping 1.0](https://github.com/UWMD-OSP/UW-Markdown/blob/main/spec/UW_XML_MAPPING_v1.md) and [UW CSV Bundle 1.0](https://github.com/UWMD-OSP/UW-Markdown/blob/main/spec/UW_CSV_BUNDLE_v1.md) specifications.
|
|
53
53
|
|
|
54
54
|
## HTTP and MCP bindings
|
|
55
55
|
|
|
@@ -76,4 +76,4 @@ const resource = await createUWMCPResource(envelope, dealId, {
|
|
|
76
76
|
|
|
77
77
|
Tool results contain compact `structuredContent` plus JSON text fallback and a
|
|
78
78
|
resource link. Complete JSON/XML, CSV views, and binary CSV ZIP bytes are read
|
|
79
|
-
through resources. See [HTTP Binding 1.0](https://github.com/
|
|
79
|
+
through resources. See [HTTP Binding 1.0](https://github.com/UWMD-OSP/UW-Markdown/blob/main/spec/bindings/UW_HTTP_BINDING_v1.md) and [MCP Binding 1.0](https://github.com/UWMD-OSP/UW-Markdown/blob/main/spec/bindings/UW_MCP_BINDING_v1.md).
|
|
@@ -1,5 +1,16 @@
|
|
|
1
|
+
import { type AgentProvider } from './provider.js';
|
|
1
2
|
export interface BancroftRunOptions {
|
|
2
|
-
|
|
3
|
+
/**
|
|
4
|
+
* API key for the built-in Anthropic provider. Ignored when `provider` is
|
|
5
|
+
* supplied. Optional so a host can run entirely on its own backend — but one
|
|
6
|
+
* of the two MUST be present.
|
|
7
|
+
*/
|
|
8
|
+
apiKey?: string;
|
|
9
|
+
/**
|
|
10
|
+
* Bring your own backend: another vendor, a local model, a gateway, or a
|
|
11
|
+
* recorded cassette. When set, no vendor SDK is loaded.
|
|
12
|
+
*/
|
|
13
|
+
provider?: AgentProvider;
|
|
3
14
|
model?: string;
|
|
4
15
|
maxRetries?: number;
|
|
5
16
|
maxTokens?: number;
|
|
@@ -7,6 +18,16 @@ export interface BancroftRunOptions {
|
|
|
7
18
|
userInstructions?: string;
|
|
8
19
|
/** Called on each status update during the run */
|
|
9
20
|
onProgress?: (event: ProgressEvent) => void;
|
|
21
|
+
/**
|
|
22
|
+
* Injectable clock, defaulting to `Date.now`. Supplying a **constant** clock
|
|
23
|
+
* makes a run byte-reproducible: `_meta.timestamp` freezes, `duration_ms`
|
|
24
|
+
* collapses to 0, and the pipeline-log entry id becomes derivable instead of
|
|
25
|
+
* random. That is what lets a replayed run be compared against a frozen
|
|
26
|
+
* expected document (see `providers/replay.ts`).
|
|
27
|
+
*
|
|
28
|
+
* Real runs should leave it unset.
|
|
29
|
+
*/
|
|
30
|
+
now?: () => number;
|
|
10
31
|
}
|
|
11
32
|
export interface ProgressEvent {
|
|
12
33
|
stage: 'context_built' | 'calling_claude' | 'parsing_output' | 'writing_block' | 'complete' | 'error';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bancroft.d.ts","sourceRoot":"","sources":["../../src/agents/bancroft.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bancroft.d.ts","sourceRoot":"","sources":["../../src/agents/bancroft.ts"],"names":[],"mappings":"AA8BA,OAAO,EAGL,KAAK,aAAa,EAEnB,MAAM,eAAe,CAAC;AAIvB,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kDAAkD;IAClD,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC5C;;;;;;;;OAQG;IACH,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAqCD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,eAAe,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,eAAe,GAAG,UAAU,GAAG,OAAO,CAAC;IACtG,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAID,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,iBAAiB,CAAC,CAqH5B;AAsCD,wBAAsB,yBAAyB,CAC7C,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,iBAAiB,CAAC,CAkG5B"}
|
package/dist/agents/bancroft.js
CHANGED
|
@@ -1,32 +1,61 @@
|
|
|
1
|
-
// Bancroft agent runner —
|
|
1
|
+
// Bancroft agent runner — asks a model for structured section output and writes
|
|
2
|
+
// it back to the deal file.
|
|
2
3
|
//
|
|
3
4
|
// Flow:
|
|
4
5
|
// 1. Build curated context for the requested agent layer
|
|
5
|
-
// 2.
|
|
6
|
-
// 3. Parse the
|
|
6
|
+
// 2. Ask the provider for a completion, with the structured-output tool
|
|
7
|
+
// 3. Parse the tool call into section content
|
|
7
8
|
// 4. Write each output section via writeAgentBlock (supersedes prior versions)
|
|
8
9
|
// 5. Return the updated file content + run metadata
|
|
9
10
|
//
|
|
10
|
-
// Uses
|
|
11
|
+
// Uses tool calling for guaranteed JSON output. The model must call
|
|
11
12
|
// write_uw_section (or write_multiple_uw_sections for multi-section layers);
|
|
12
13
|
// if it doesn't, we retry up to maxRetries before writing an error log entry.
|
|
13
|
-
|
|
14
|
+
//
|
|
15
|
+
// **This module does not import a vendor SDK.** The default Anthropic provider
|
|
16
|
+
// is loaded through a dynamic import only when no `provider` is supplied, so a
|
|
17
|
+
// host that brings its own never pulls the SDK into its graph. `bancroft.test.ts`
|
|
18
|
+
// asserts the absence of a static import, because "provider-neutral" is a claim
|
|
19
|
+
// worth testing rather than trusting.
|
|
14
20
|
import { parseUWFile } from '../parser.js';
|
|
15
21
|
import { writeAgentBlock, writeErrorEntry, buildMeta } from '../runner.js';
|
|
16
22
|
import { buildAgentContext, buildAgentPrompt, isContextReady, BANCROFT_LAYERS } from '../context.js';
|
|
17
23
|
import { WRITE_UW_SECTION_TOOL, WRITE_MULTIPLE_SECTIONS_TOOL, MULTI_SECTION_LAYERS, } from './schemas.js';
|
|
24
|
+
import { AgentProviderError, } from './provider.js';
|
|
25
|
+
/**
|
|
26
|
+
* Resolve the provider for a run: an explicit one wins, otherwise the built-in
|
|
27
|
+
* Anthropic provider is loaded lazily from an API key.
|
|
28
|
+
*/
|
|
29
|
+
async function resolveProvider(opts) {
|
|
30
|
+
if (opts.provider)
|
|
31
|
+
return opts.provider;
|
|
32
|
+
if (!opts.apiKey) {
|
|
33
|
+
throw new AgentProviderError('AGENT_PROVIDER_MISSING', 'runBancroftAgent requires either `provider` or `apiKey`.');
|
|
34
|
+
}
|
|
35
|
+
const { createAnthropicProvider } = await import('./providers/anthropic.js');
|
|
36
|
+
return createAnthropicProvider({ apiKey: opts.apiKey });
|
|
37
|
+
}
|
|
38
|
+
/** Assemble the neutral request shared by the buffered and streaming paths. */
|
|
39
|
+
function buildRequest(opts, model, systemPrompt, userMessage, isMultiSection) {
|
|
40
|
+
return {
|
|
41
|
+
model,
|
|
42
|
+
max_tokens: opts.maxTokens ?? 4096,
|
|
43
|
+
temperature: opts.temperature ?? 0.1,
|
|
44
|
+
system: systemPrompt,
|
|
45
|
+
messages: [{ role: 'user', content: userMessage }],
|
|
46
|
+
tools: isMultiSection ? [WRITE_MULTIPLE_SECTIONS_TOOL] : [WRITE_UW_SECTION_TOOL],
|
|
47
|
+
tool_choice: 'any',
|
|
48
|
+
};
|
|
49
|
+
}
|
|
18
50
|
// ─── Main entry point ─────────────────────────────────────────────────────────
|
|
19
51
|
export async function runBancroftAgent(fileContent, agentId, opts) {
|
|
20
|
-
const startMs = Date.now();
|
|
52
|
+
const startMs = (opts.now ?? Date.now)();
|
|
21
53
|
const model = opts.model ?? 'claude-sonnet-4-6';
|
|
22
54
|
const maxRetries = opts.maxRetries ?? 2;
|
|
23
55
|
const emit = opts.onProgress ?? (() => undefined);
|
|
24
|
-
const
|
|
56
|
+
const provider = await resolveProvider(opts);
|
|
25
57
|
const layerPrefix = agentId.match(/^(L\d+)/)?.[1] ?? 'L7';
|
|
26
58
|
const isMultiSection = MULTI_SECTION_LAYERS.has(layerPrefix);
|
|
27
|
-
const tools = isMultiSection
|
|
28
|
-
? [WRITE_MULTIPLE_SECTIONS_TOOL]
|
|
29
|
-
: [WRITE_UW_SECTION_TOOL];
|
|
30
59
|
const toolName = isMultiSection ? 'write_multiple_uw_sections' : 'write_uw_section';
|
|
31
60
|
let currentContent = fileContent;
|
|
32
61
|
const currentParsed = parseUWFile(fileContent);
|
|
@@ -42,7 +71,7 @@ export async function runBancroftAgent(fileContent, agentId, opts) {
|
|
|
42
71
|
updatedContent: fileContent,
|
|
43
72
|
sectionsWritten: [],
|
|
44
73
|
tokensUsed: { input: 0, output: 0 },
|
|
45
|
-
durationMs: Date.now() - startMs,
|
|
74
|
+
durationMs: (opts.now ?? Date.now)() - startMs,
|
|
46
75
|
logEntryIds: [],
|
|
47
76
|
error: `Context not ready — ${reason}`,
|
|
48
77
|
retries: 0,
|
|
@@ -55,24 +84,16 @@ export async function runBancroftAgent(fileContent, agentId, opts) {
|
|
|
55
84
|
let totalInput = 0;
|
|
56
85
|
let totalOutput = 0;
|
|
57
86
|
let toolOutputs = [];
|
|
58
|
-
|
|
87
|
+
const request = buildRequest(opts, model, systemPrompt, userMessage, isMultiSection);
|
|
59
88
|
while (retries <= maxRetries) {
|
|
60
|
-
emit({ stage: 'calling_claude', agentId, message: `Calling ${model} (attempt ${retries + 1}/${maxRetries + 1})` });
|
|
89
|
+
emit({ stage: 'calling_claude', agentId, message: `Calling ${model} via ${provider.id} (attempt ${retries + 1}/${maxRetries + 1})` });
|
|
61
90
|
try {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
system: systemPrompt,
|
|
67
|
-
messages: [{ role: 'user', content: userMessage }],
|
|
68
|
-
tools,
|
|
69
|
-
tool_choice: { type: 'any' },
|
|
70
|
-
});
|
|
71
|
-
totalInput += rawResponse.usage.input_tokens;
|
|
72
|
-
totalOutput += rawResponse.usage.output_tokens;
|
|
73
|
-
toolOutputs = extractToolOutputs(rawResponse, toolName);
|
|
91
|
+
const completion = await provider.complete(request);
|
|
92
|
+
totalInput += completion.usage.input_tokens;
|
|
93
|
+
totalOutput += completion.usage.output_tokens;
|
|
94
|
+
toolOutputs = extractToolOutputs(completion, toolName);
|
|
74
95
|
if (toolOutputs.length === 0) {
|
|
75
|
-
lastError = `
|
|
96
|
+
lastError = `The model did not call the ${toolName} tool`;
|
|
76
97
|
retries++;
|
|
77
98
|
continue;
|
|
78
99
|
}
|
|
@@ -95,14 +116,14 @@ export async function runBancroftAgent(fileContent, agentId, opts) {
|
|
|
95
116
|
updatedContent: currentContent,
|
|
96
117
|
sectionsWritten: [],
|
|
97
118
|
tokensUsed: { input: totalInput, output: totalOutput },
|
|
98
|
-
durationMs: Date.now() - startMs,
|
|
119
|
+
durationMs: (opts.now ?? Date.now)() - startMs,
|
|
99
120
|
logEntryIds: [],
|
|
100
121
|
error: lastError,
|
|
101
122
|
retries,
|
|
102
123
|
};
|
|
103
124
|
}
|
|
104
125
|
// ── Write each section block ───────────────────────────────────────────────
|
|
105
|
-
const { logEntryIds, sectionsWritten, content: finalContent } = writeSectionOutputs(currentContent, agentId, layerPrefix, toolOutputs, ctx.layer.reads, startMs, emit);
|
|
126
|
+
const { logEntryIds, sectionsWritten, content: finalContent } = writeSectionOutputs(currentContent, agentId, layerPrefix, toolOutputs, ctx.layer.reads, startMs, emit, opts.now);
|
|
106
127
|
currentContent = finalContent;
|
|
107
128
|
emit({ stage: 'complete', agentId, message: `Wrote ${sectionsWritten.join(', ')} — ${totalInput + totalOutput} tokens` });
|
|
108
129
|
return {
|
|
@@ -110,14 +131,14 @@ export async function runBancroftAgent(fileContent, agentId, opts) {
|
|
|
110
131
|
updatedContent: currentContent,
|
|
111
132
|
sectionsWritten,
|
|
112
133
|
tokensUsed: { input: totalInput, output: totalOutput },
|
|
113
|
-
durationMs: Date.now() - startMs,
|
|
134
|
+
durationMs: (opts.now ?? Date.now)() - startMs,
|
|
114
135
|
logEntryIds,
|
|
115
136
|
retries,
|
|
116
137
|
};
|
|
117
138
|
}
|
|
118
|
-
// ─── Parse
|
|
119
|
-
function extractToolOutputs(
|
|
120
|
-
const toolUseBlocks =
|
|
139
|
+
// ─── Parse the provider's tool calls ─────────────────────────────────────────
|
|
140
|
+
function extractToolOutputs(completion, toolName) {
|
|
141
|
+
const toolUseBlocks = completion.tool_calls.filter((call) => call.name === toolName);
|
|
121
142
|
if (toolUseBlocks.length === 0)
|
|
122
143
|
return [];
|
|
123
144
|
const results = [];
|
|
@@ -146,15 +167,12 @@ function extractToolOutputs(response, toolName) {
|
|
|
146
167
|
// Same as runBancroftAgent but uses streaming so progress events arrive in real time.
|
|
147
168
|
// Useful for UI integrations (underwriter.cc wizard).
|
|
148
169
|
export async function runBancroftAgentStreaming(fileContent, agentId, opts) {
|
|
149
|
-
const startMs = Date.now();
|
|
170
|
+
const startMs = (opts.now ?? Date.now)();
|
|
150
171
|
const model = opts.model ?? 'claude-sonnet-4-6';
|
|
151
172
|
const emit = opts.onProgress ?? (() => undefined);
|
|
152
|
-
const
|
|
173
|
+
const provider = await resolveProvider(opts);
|
|
153
174
|
const layerPrefix = agentId.match(/^(L\d+)/)?.[1] ?? 'L7';
|
|
154
175
|
const isMultiSection = MULTI_SECTION_LAYERS.has(layerPrefix);
|
|
155
|
-
const tools = isMultiSection
|
|
156
|
-
? [WRITE_MULTIPLE_SECTIONS_TOOL]
|
|
157
|
-
: [WRITE_UW_SECTION_TOOL];
|
|
158
176
|
const toolName = isMultiSection ? 'write_multiple_uw_sections' : 'write_uw_section';
|
|
159
177
|
const currentParsed = parseUWFile(fileContent);
|
|
160
178
|
const ctx = buildAgentContext(currentParsed, agentId);
|
|
@@ -167,32 +185,27 @@ export async function runBancroftAgentStreaming(fileContent, agentId, opts) {
|
|
|
167
185
|
updatedContent: fileContent,
|
|
168
186
|
sectionsWritten: [],
|
|
169
187
|
tokensUsed: { input: 0, output: 0 },
|
|
170
|
-
durationMs: Date.now() - startMs,
|
|
188
|
+
durationMs: (opts.now ?? Date.now)() - startMs,
|
|
171
189
|
logEntryIds: [],
|
|
172
190
|
error: reason,
|
|
173
191
|
retries: 0,
|
|
174
192
|
};
|
|
175
193
|
}
|
|
176
194
|
const { systemPrompt, userMessage } = buildAgentPrompt(ctx, opts.userInstructions);
|
|
177
|
-
|
|
195
|
+
const request = buildRequest(opts, model, systemPrompt, userMessage, isMultiSection);
|
|
196
|
+
emit({ stage: 'calling_claude', agentId, message: `Streaming ${model} via ${provider.id}` });
|
|
178
197
|
let totalInput = 0;
|
|
179
198
|
let totalOutput = 0;
|
|
180
199
|
let toolOutputs = [];
|
|
181
200
|
try {
|
|
182
|
-
//
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
tool_choice: { type: 'any' },
|
|
191
|
-
});
|
|
192
|
-
const response = await stream.finalMessage();
|
|
193
|
-
totalInput = response.usage.input_tokens;
|
|
194
|
-
totalOutput = response.usage.output_tokens;
|
|
195
|
-
toolOutputs = extractToolOutputs(response, toolName);
|
|
201
|
+
// A provider that cannot stream falls back to the buffered path. Streaming
|
|
202
|
+
// is a latency optimisation; refusing the run over it would be wrong.
|
|
203
|
+
const completion = provider.stream
|
|
204
|
+
? await provider.stream(request)
|
|
205
|
+
: await provider.complete(request);
|
|
206
|
+
totalInput = completion.usage.input_tokens;
|
|
207
|
+
totalOutput = completion.usage.output_tokens;
|
|
208
|
+
toolOutputs = extractToolOutputs(completion, toolName);
|
|
196
209
|
}
|
|
197
210
|
catch (err) {
|
|
198
211
|
const error = err instanceof Error ? err.message : String(err);
|
|
@@ -201,7 +214,7 @@ export async function runBancroftAgentStreaming(fileContent, agentId, opts) {
|
|
|
201
214
|
updatedContent: fileContent,
|
|
202
215
|
sectionsWritten: [],
|
|
203
216
|
tokensUsed: { input: totalInput, output: totalOutput },
|
|
204
|
-
durationMs: Date.now() - startMs,
|
|
217
|
+
durationMs: (opts.now ?? Date.now)() - startMs,
|
|
205
218
|
logEntryIds: [],
|
|
206
219
|
error,
|
|
207
220
|
retries: 0,
|
|
@@ -213,21 +226,21 @@ export async function runBancroftAgentStreaming(fileContent, agentId, opts) {
|
|
|
213
226
|
updatedContent: fileContent,
|
|
214
227
|
sectionsWritten: [],
|
|
215
228
|
tokensUsed: { input: totalInput, output: totalOutput },
|
|
216
|
-
durationMs: Date.now() - startMs,
|
|
229
|
+
durationMs: (opts.now ?? Date.now)() - startMs,
|
|
217
230
|
logEntryIds: [],
|
|
218
|
-
error: '
|
|
231
|
+
error: 'The model did not call the write tool',
|
|
219
232
|
retries: 0,
|
|
220
233
|
};
|
|
221
234
|
}
|
|
222
235
|
// Write sections using the shared helper (no second API call)
|
|
223
|
-
const { logEntryIds, sectionsWritten, content: finalContent } = writeSectionOutputs(fileContent, agentId, layerPrefix, toolOutputs, ctx.layer.reads, startMs, emit);
|
|
236
|
+
const { logEntryIds, sectionsWritten, content: finalContent } = writeSectionOutputs(fileContent, agentId, layerPrefix, toolOutputs, ctx.layer.reads, startMs, emit, opts.now);
|
|
224
237
|
emit({ stage: 'complete', agentId, message: `Wrote ${sectionsWritten.join(', ')} — ${totalInput + totalOutput} tokens` });
|
|
225
238
|
return {
|
|
226
239
|
success: true,
|
|
227
240
|
updatedContent: finalContent,
|
|
228
241
|
sectionsWritten,
|
|
229
242
|
tokensUsed: { input: totalInput, output: totalOutput },
|
|
230
|
-
durationMs: Date.now() - startMs,
|
|
243
|
+
durationMs: (opts.now ?? Date.now)() - startMs,
|
|
231
244
|
logEntryIds,
|
|
232
245
|
retries: 0,
|
|
233
246
|
};
|
|
@@ -235,7 +248,13 @@ export async function runBancroftAgentStreaming(fileContent, agentId, opts) {
|
|
|
235
248
|
// ─── Shared write helper ──────────────────────────────────────────────────────
|
|
236
249
|
// Used by both runBancroftAgent and runBancroftAgentStreaming after tool outputs
|
|
237
250
|
// are extracted. Iterates over tool outputs, builds _meta, calls writeAgentBlock.
|
|
238
|
-
function writeSectionOutputs(fileContent, agentId, layerPrefix, toolOutputs, inputSections, startMs, emit) {
|
|
251
|
+
function writeSectionOutputs(fileContent, agentId, layerPrefix, toolOutputs, inputSections, startMs, emit, clock) {
|
|
252
|
+
const nowMs = clock ?? Date.now;
|
|
253
|
+
// Only freeze the stamps when a clock was injected. A real run keeps its
|
|
254
|
+
// random log-entry suffix, which is what stops two runs in the same
|
|
255
|
+
// millisecond from colliding.
|
|
256
|
+
const frozen = clock !== undefined;
|
|
257
|
+
const timestamp = frozen ? new Date(nowMs()).toISOString() : undefined;
|
|
239
258
|
const layer = BANCROFT_LAYERS.find(l => l.id === layerPrefix);
|
|
240
259
|
const pipelineStateUpdate = layer
|
|
241
260
|
? { [layer.pipelineStateKey]: 'complete' }
|
|
@@ -243,6 +262,7 @@ function writeSectionOutputs(fileContent, agentId, layerPrefix, toolOutputs, inp
|
|
|
243
262
|
let currentContent = fileContent;
|
|
244
263
|
const logEntryIds = [];
|
|
245
264
|
const sectionsWritten = [];
|
|
265
|
+
let sectionIndex = 0;
|
|
246
266
|
for (const toolOut of toolOutputs) {
|
|
247
267
|
emit({ stage: 'writing_block', agentId, sectionId: toolOut.section_id, message: `Writing ${toolOut.section_id}` });
|
|
248
268
|
// Re-parse before each write so line numbers are fresh
|
|
@@ -261,6 +281,7 @@ function writeSectionOutputs(fileContent, agentId, layerPrefix, toolOutputs, inp
|
|
|
261
281
|
humanReviewRequired: toolOut.human_review_required,
|
|
262
282
|
flags: toolOut.flags,
|
|
263
283
|
notes: toolOut.notes,
|
|
284
|
+
...(timestamp ? { timestamp } : {}),
|
|
264
285
|
});
|
|
265
286
|
// Strip any _meta/_notes Claude included in section_data — we own those fields.
|
|
266
287
|
const { _meta: _ignoredMeta, _notes: _ignoredNotes, ...cleanSectionData } = toolOut.section_data;
|
|
@@ -274,14 +295,19 @@ function writeSectionOutputs(fileContent, agentId, layerPrefix, toolOutputs, inp
|
|
|
274
295
|
const runResult = writeAgentBlock(currentContent, currentParsed, { sectionId: toolOut.section_id, content: sectionContent }, {
|
|
275
296
|
agentId,
|
|
276
297
|
agentVersion: '1.0.0',
|
|
277
|
-
durationMs:
|
|
298
|
+
durationMs: nowMs() - startMs,
|
|
278
299
|
flagsRaised: toolOut.flags,
|
|
279
300
|
inputSections,
|
|
280
301
|
updatePipelineState: pipelineStateUpdate,
|
|
302
|
+
...(timestamp ? { timestamp } : {}),
|
|
303
|
+
// Derived from the frozen clock plus the section's position, so a
|
|
304
|
+
// replayed multi-section run still gets distinct, stable ids.
|
|
305
|
+
...(frozen ? { logEntryId: `log_${nowMs()}_${agentId}_${sectionIndex}` } : {}),
|
|
281
306
|
});
|
|
282
307
|
currentContent = runResult.content;
|
|
283
308
|
logEntryIds.push(runResult.logEntryId);
|
|
284
309
|
sectionsWritten.push(toolOut.section_id);
|
|
310
|
+
sectionIndex++;
|
|
285
311
|
}
|
|
286
312
|
return { content: currentContent, logEntryIds, sectionsWritten };
|
|
287
313
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bancroft.js","sourceRoot":"","sources":["../../src/agents/bancroft.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bancroft.js","sourceRoot":"","sources":["../../src/agents/bancroft.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A tool the model may call. Structurally the JSON-Schema subset every
|
|
3
|
+
* tool-calling API accepts, so a provider can usually pass it through with a
|
|
4
|
+
* cast rather than a translation.
|
|
5
|
+
*/
|
|
6
|
+
export interface AgentToolSchema {
|
|
7
|
+
name: string;
|
|
8
|
+
description: string;
|
|
9
|
+
input_schema: {
|
|
10
|
+
type: 'object';
|
|
11
|
+
properties: Record<string, unknown>;
|
|
12
|
+
required?: string[];
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
export interface AgentMessage {
|
|
16
|
+
role: 'user' | 'assistant';
|
|
17
|
+
content: string;
|
|
18
|
+
}
|
|
19
|
+
export interface AgentRequest {
|
|
20
|
+
model: string;
|
|
21
|
+
max_tokens: number;
|
|
22
|
+
temperature: number;
|
|
23
|
+
system: string;
|
|
24
|
+
messages: AgentMessage[];
|
|
25
|
+
tools: AgentToolSchema[];
|
|
26
|
+
/** `any` forces some tool call; `auto` lets the model decide. */
|
|
27
|
+
tool_choice: 'any' | 'auto';
|
|
28
|
+
}
|
|
29
|
+
export interface AgentToolCall {
|
|
30
|
+
name: string;
|
|
31
|
+
input: Record<string, unknown>;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* What the runner needs back. Deliberately *not* the vendor's message object:
|
|
35
|
+
* the runner only ever reads tool calls and token usage, so widening this to
|
|
36
|
+
* carry a raw response would re-couple it to a vendor's response shape.
|
|
37
|
+
*/
|
|
38
|
+
export interface AgentCompletion {
|
|
39
|
+
tool_calls: AgentToolCall[];
|
|
40
|
+
usage: {
|
|
41
|
+
input_tokens: number;
|
|
42
|
+
output_tokens: number;
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
export interface AgentProvider {
|
|
46
|
+
/** Stable identifier, e.g. `anthropic` or `replay`. Recorded in cassettes. */
|
|
47
|
+
readonly id: string;
|
|
48
|
+
complete(request: AgentRequest): Promise<AgentCompletion>;
|
|
49
|
+
/**
|
|
50
|
+
* Optional streaming variant. A provider that cannot stream omits it, and
|
|
51
|
+
* `runBancroftAgentStreaming` falls back to `complete()` rather than failing —
|
|
52
|
+
* streaming is a latency optimisation, not a semantic difference.
|
|
53
|
+
*/
|
|
54
|
+
stream?(request: AgentRequest): Promise<AgentCompletion>;
|
|
55
|
+
}
|
|
56
|
+
/** Typed error for provider selection and transport failures. */
|
|
57
|
+
export declare class AgentProviderError extends Error {
|
|
58
|
+
readonly code: 'AGENT_PROVIDER_MISSING' | 'AGENT_PROVIDER_SDK_MISSING' | 'AGENT_PROVIDER_TRANSPORT' | 'AGENT_PROVIDER_REPLAY';
|
|
59
|
+
readonly cause?: unknown | undefined;
|
|
60
|
+
constructor(code: 'AGENT_PROVIDER_MISSING' | 'AGENT_PROVIDER_SDK_MISSING' | 'AGENT_PROVIDER_TRANSPORT' | 'AGENT_PROVIDER_REPLAY', message: string, cause?: unknown | undefined);
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/agents/provider.ts"],"names":[],"mappings":"AAiBA;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE;QACZ,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,iEAAiE;IACjE,WAAW,EAAE,KAAK,GAAG,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,KAAK,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;CACxD;AAED,MAAM,WAAW,aAAa;IAC5B,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAC1D;;;;OAIG;IACH,MAAM,CAAC,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CAC1D;AAED,iEAAiE;AACjE,qBAAa,kBAAmB,SAAQ,KAAK;IAEzC,QAAQ,CAAC,IAAI,EACT,wBAAwB,GACxB,4BAA4B,GAC5B,0BAA0B,GAC1B,uBAAuB;aAET,KAAK,CAAC,EAAE,OAAO;gBANxB,IAAI,EACT,wBAAwB,GACxB,4BAA4B,GAC5B,0BAA0B,GAC1B,uBAAuB,EAC3B,OAAO,EAAE,MAAM,EACG,KAAK,CAAC,EAAE,OAAO,YAAA;CAKpC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// The agent-provider contract — the narrow waist between the Bancroft runner
|
|
2
|
+
// and whatever model actually answers.
|
|
3
|
+
//
|
|
4
|
+
// Protocol §IX describes a Tier-4 host as provider-neutral. Until this file
|
|
5
|
+
// existed that was an aspiration: `bancroft.ts` imported `@anthropic-ai/sdk`
|
|
6
|
+
// directly, so "provider-neutral" could not be demonstrated, let alone tested.
|
|
7
|
+
//
|
|
8
|
+
// Everything a provider needs is here, and **nothing in this file imports a
|
|
9
|
+
// vendor SDK**. A host can implement `AgentProvider` against any backend — a
|
|
10
|
+
// different vendor, a local model, a gateway, or a recorded cassette (see
|
|
11
|
+
// `providers/replay.ts`) — without touching the runner.
|
|
12
|
+
//
|
|
13
|
+
// The types mirror the shape of a tool-calling chat request rather than any one
|
|
14
|
+
// vendor's spelling of it. They are deliberately snake_case, matching
|
|
15
|
+
// `ToolOutput` in `schemas.ts`, because they describe a wire payload rather
|
|
16
|
+
// than a TypeScript options bag.
|
|
17
|
+
/** Typed error for provider selection and transport failures. */
|
|
18
|
+
export class AgentProviderError extends Error {
|
|
19
|
+
code;
|
|
20
|
+
cause;
|
|
21
|
+
constructor(code, message, cause) {
|
|
22
|
+
super(message);
|
|
23
|
+
this.code = code;
|
|
24
|
+
this.cause = cause;
|
|
25
|
+
this.name = 'AgentProviderError';
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/agents/provider.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,uCAAuC;AACvC,EAAE;AACF,4EAA4E;AAC5E,6EAA6E;AAC7E,+EAA+E;AAC/E,EAAE;AACF,4EAA4E;AAC5E,6EAA6E;AAC7E,0EAA0E;AAC1E,wDAAwD;AACxD,EAAE;AACF,gFAAgF;AAChF,sEAAsE;AACtE,4EAA4E;AAC5E,iCAAiC;AA4DjC,iEAAiE;AACjE,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAEhC;IAMS;IAPpB,YACW,IAIkB,EAC3B,OAAe,EACG,KAAe;QAEjC,KAAK,CAAC,OAAO,CAAC,CAAC;QARN,SAAI,GAAJ,IAAI,CAIc;QAET,UAAK,GAAL,KAAK,CAAU;QAGjC,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type Anthropic from '@anthropic-ai/sdk';
|
|
2
|
+
import { type AgentProvider } from '../provider.js';
|
|
3
|
+
export interface AnthropicProviderOptions {
|
|
4
|
+
apiKey: string;
|
|
5
|
+
/**
|
|
6
|
+
* Inject a pre-built client — a custom base URL, a gateway, a proxy with
|
|
7
|
+
* different retry behaviour. Tests use it to avoid constructing a real one.
|
|
8
|
+
*/
|
|
9
|
+
client?: Anthropic;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Translate a neutral `AgentRequest` into an SDK call and the SDK's reply back
|
|
13
|
+
* into an `AgentCompletion`.
|
|
14
|
+
*
|
|
15
|
+
* The translation is deliberately total: everything the runner reads — tool
|
|
16
|
+
* calls and token usage — is mapped explicitly, so a change in the SDK's
|
|
17
|
+
* message shape surfaces here and nowhere else.
|
|
18
|
+
*/
|
|
19
|
+
export declare function createAnthropicProvider(opts: AnthropicProviderOptions): AgentProvider;
|
|
20
|
+
//# sourceMappingURL=anthropic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../../src/agents/providers/anthropic.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,SAAS,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAGL,KAAK,aAAa,EAEnB,MAAM,gBAAgB,CAAC;AA2BxB,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,wBAAwB,GAAG,aAAa,CAoErF"}
|