@uwmd/core 1.1.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 +79 -0
- package/dist/agents/bancroft.d.ts +32 -0
- package/dist/agents/bancroft.d.ts.map +1 -0
- package/dist/agents/bancroft.js +292 -0
- package/dist/agents/bancroft.js.map +1 -0
- package/dist/agents/schemas.d.ts +13 -0
- package/dist/agents/schemas.d.ts.map +1 -0
- package/dist/agents/schemas.js +74 -0
- package/dist/agents/schemas.js.map +1 -0
- package/dist/bindings.d.ts +85 -0
- package/dist/bindings.d.ts.map +1 -0
- package/dist/bindings.js +293 -0
- package/dist/bindings.js.map +1 -0
- package/dist/browser.d.ts +66 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +53 -0
- package/dist/browser.js.map +1 -0
- package/dist/calc/builtins.d.ts +4 -0
- package/dist/calc/builtins.d.ts.map +1 -0
- package/dist/calc/builtins.js +329 -0
- package/dist/calc/builtins.js.map +1 -0
- package/dist/calc/dependencies.d.ts +34 -0
- package/dist/calc/dependencies.d.ts.map +1 -0
- package/dist/calc/dependencies.js +101 -0
- package/dist/calc/dependencies.js.map +1 -0
- package/dist/calc/errors.d.ts +8 -0
- package/dist/calc/errors.d.ts.map +1 -0
- package/dist/calc/errors.js +18 -0
- package/dist/calc/errors.js.map +1 -0
- package/dist/calc/evaluator.d.ts +5 -0
- package/dist/calc/evaluator.d.ts.map +1 -0
- package/dist/calc/evaluator.js +184 -0
- package/dist/calc/evaluator.js.map +1 -0
- package/dist/calc/index.d.ts +14 -0
- package/dist/calc/index.d.ts.map +1 -0
- package/dist/calc/index.js +56 -0
- package/dist/calc/index.js.map +1 -0
- package/dist/calc/parser.d.ts +32 -0
- package/dist/calc/parser.d.ts.map +1 -0
- package/dist/calc/parser.js +361 -0
- package/dist/calc/parser.js.map +1 -0
- package/dist/cascade.d.ts +85 -0
- package/dist/cascade.d.ts.map +1 -0
- package/dist/cascade.js +172 -0
- package/dist/cascade.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +843 -0
- package/dist/cli.js.map +1 -0
- package/dist/codec.d.ts +25 -0
- package/dist/codec.d.ts.map +1 -0
- package/dist/codec.js +62 -0
- package/dist/codec.js.map +1 -0
- package/dist/codecs.d.ts +6 -0
- package/dist/codecs.d.ts.map +1 -0
- package/dist/codecs.js +12 -0
- package/dist/codecs.js.map +1 -0
- package/dist/compactor.d.ts +11 -0
- package/dist/compactor.d.ts.map +1 -0
- package/dist/compactor.js +84 -0
- package/dist/compactor.js.map +1 -0
- package/dist/context-profiles.d.ts +30 -0
- package/dist/context-profiles.d.ts.map +1 -0
- package/dist/context-profiles.js +225 -0
- package/dist/context-profiles.js.map +1 -0
- package/dist/context.d.ts +55 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +288 -0
- package/dist/context.js.map +1 -0
- package/dist/dcf.d.ts +9 -0
- package/dist/dcf.d.ts.map +1 -0
- package/dist/dcf.js +75 -0
- package/dist/dcf.js.map +1 -0
- package/dist/debt.d.ts +11 -0
- package/dist/debt.d.ts.map +1 -0
- package/dist/debt.js +85 -0
- package/dist/debt.js.map +1 -0
- package/dist/defaults.d.ts +104 -0
- package/dist/defaults.d.ts.map +1 -0
- package/dist/defaults.js +622 -0
- package/dist/defaults.js.map +1 -0
- package/dist/derived.d.ts +17 -0
- package/dist/derived.d.ts.map +1 -0
- package/dist/derived.js +29 -0
- package/dist/derived.js.map +1 -0
- package/dist/editor.d.ts +76 -0
- package/dist/editor.d.ts.map +1 -0
- package/dist/editor.js +502 -0
- package/dist/editor.js.map +1 -0
- package/dist/envelope.d.ts +51 -0
- package/dist/envelope.d.ts.map +1 -0
- package/dist/envelope.js +213 -0
- package/dist/envelope.js.map +1 -0
- package/dist/format.d.ts +60 -0
- package/dist/format.d.ts.map +1 -0
- package/dist/format.js +115 -0
- package/dist/format.js.map +1 -0
- package/dist/gaps.d.ts +62 -0
- package/dist/gaps.d.ts.map +1 -0
- package/dist/gaps.js +272 -0
- package/dist/gaps.js.map +1 -0
- package/dist/index.d.ts +75 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +47 -0
- package/dist/index.js.map +1 -0
- package/dist/init.d.ts +15 -0
- package/dist/init.d.ts.map +1 -0
- package/dist/init.js +169 -0
- package/dist/init.js.map +1 -0
- package/dist/integrity-canonical.d.ts +17 -0
- package/dist/integrity-canonical.d.ts.map +1 -0
- package/dist/integrity-canonical.js +124 -0
- package/dist/integrity-canonical.js.map +1 -0
- package/dist/integrity.d.ts +54 -0
- package/dist/integrity.d.ts.map +1 -0
- package/dist/integrity.js +244 -0
- package/dist/integrity.js.map +1 -0
- package/dist/modules.d.ts +24 -0
- package/dist/modules.d.ts.map +1 -0
- package/dist/modules.js +322 -0
- package/dist/modules.js.map +1 -0
- package/dist/negotiation.d.ts +19 -0
- package/dist/negotiation.d.ts.map +1 -0
- package/dist/negotiation.js +70 -0
- package/dist/negotiation.js.map +1 -0
- package/dist/opstatement.d.ts +9 -0
- package/dist/opstatement.d.ts.map +1 -0
- package/dist/opstatement.js +80 -0
- package/dist/opstatement.js.map +1 -0
- package/dist/packs/excel-emit.d.ts +21 -0
- package/dist/packs/excel-emit.d.ts.map +1 -0
- package/dist/packs/excel-emit.js +135 -0
- package/dist/packs/excel-emit.js.map +1 -0
- package/dist/packs/index.d.ts +13 -0
- package/dist/packs/index.d.ts.map +1 -0
- package/dist/packs/index.js +37 -0
- package/dist/packs/index.js.map +1 -0
- package/dist/packs/industrial.d.ts +3 -0
- package/dist/packs/industrial.d.ts.map +1 -0
- package/dist/packs/industrial.js +115 -0
- package/dist/packs/industrial.js.map +1 -0
- package/dist/packs/multifamily.d.ts +3 -0
- package/dist/packs/multifamily.d.ts.map +1 -0
- package/dist/packs/multifamily.js +82 -0
- package/dist/packs/multifamily.js.map +1 -0
- package/dist/packs/office.d.ts +3 -0
- package/dist/packs/office.d.ts.map +1 -0
- package/dist/packs/office.js +108 -0
- package/dist/packs/office.js.map +1 -0
- package/dist/packs/retail.d.ts +3 -0
- package/dist/packs/retail.d.ts.map +1 -0
- package/dist/packs/retail.js +115 -0
- package/dist/packs/retail.js.map +1 -0
- package/dist/packs/self-storage.d.ts +3 -0
- package/dist/packs/self-storage.d.ts.map +1 -0
- package/dist/packs/self-storage.js +105 -0
- package/dist/packs/self-storage.js.map +1 -0
- package/dist/parser.d.ts +15 -0
- package/dist/parser.d.ts.map +1 -0
- package/dist/parser.js +430 -0
- package/dist/parser.js.map +1 -0
- package/dist/protocol.d.ts +389 -0
- package/dist/protocol.d.ts.map +1 -0
- package/dist/protocol.js +714 -0
- package/dist/protocol.js.map +1 -0
- package/dist/refinement.d.ts +63 -0
- package/dist/refinement.d.ts.map +1 -0
- package/dist/refinement.js +242 -0
- package/dist/refinement.js.map +1 -0
- package/dist/renderer.d.ts +22 -0
- package/dist/renderer.d.ts.map +1 -0
- package/dist/renderer.js +478 -0
- package/dist/renderer.js.map +1 -0
- package/dist/rentroll.d.ts +21 -0
- package/dist/rentroll.d.ts.map +1 -0
- package/dist/rentroll.js +256 -0
- package/dist/rentroll.js.map +1 -0
- package/dist/report.d.ts +29 -0
- package/dist/report.d.ts.map +1 -0
- package/dist/report.js +924 -0
- package/dist/report.js.map +1 -0
- package/dist/runner.d.ts +43 -0
- package/dist/runner.d.ts.map +1 -0
- package/dist/runner.js +288 -0
- package/dist/runner.js.map +1 -0
- package/dist/sourcesuses.d.ts +14 -0
- package/dist/sourcesuses.d.ts.map +1 -0
- package/dist/sourcesuses.js +63 -0
- package/dist/sourcesuses.js.map +1 -0
- package/dist/types.d.ts +248 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +15 -0
- package/dist/types.js.map +1 -0
- package/dist/uwcsv.d.ts +23 -0
- package/dist/uwcsv.d.ts.map +1 -0
- package/dist/uwcsv.js +877 -0
- package/dist/uwcsv.js.map +1 -0
- package/dist/uwjson.d.ts +19 -0
- package/dist/uwjson.d.ts.map +1 -0
- package/dist/uwjson.js +61 -0
- package/dist/uwjson.js.map +1 -0
- package/dist/uwxml.d.ts +18 -0
- package/dist/uwxml.d.ts.map +1 -0
- package/dist/uwxml.js +297 -0
- package/dist/uwxml.js.map +1 -0
- package/dist/validator.d.ts +35 -0
- package/dist/validator.d.ts.map +1 -0
- package/dist/validator.js +553 -0
- package/dist/validator.js.map +1 -0
- package/dist/valuation.d.ts +9 -0
- package/dist/valuation.d.ts.map +1 -0
- package/dist/valuation.js +34 -0
- package/dist/valuation.js.map +1 -0
- package/package.json +58 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"report.js","sourceRoot":"","sources":["../src/report.ts"],"names":[],"mappings":"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"}
|
package/dist/runner.d.ts
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { ParsedUWFile, UWMeta, PipelineStatus } from './types.js';
|
|
2
|
+
export interface AgentOutput {
|
|
3
|
+
sectionId: string;
|
|
4
|
+
content: Record<string, unknown>;
|
|
5
|
+
variant?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface RunOptions {
|
|
8
|
+
agentId?: string;
|
|
9
|
+
agentVersion?: string;
|
|
10
|
+
actor?: string;
|
|
11
|
+
durationMs?: number;
|
|
12
|
+
inputHash?: string;
|
|
13
|
+
inputSections?: string[];
|
|
14
|
+
flagsRaised?: string[];
|
|
15
|
+
flagsCleared?: string[];
|
|
16
|
+
notes?: string;
|
|
17
|
+
updatePipelineState?: Partial<Record<string, PipelineStatus>>;
|
|
18
|
+
updateQuickMetrics?: Partial<Record<string, number | null>>;
|
|
19
|
+
}
|
|
20
|
+
export interface RunResult {
|
|
21
|
+
content: string;
|
|
22
|
+
newBlock: {
|
|
23
|
+
sectionId: string;
|
|
24
|
+
version: number;
|
|
25
|
+
annotation: string;
|
|
26
|
+
};
|
|
27
|
+
supersededPriorBlock: boolean;
|
|
28
|
+
logEntryId: string;
|
|
29
|
+
}
|
|
30
|
+
export declare function writeAgentBlock(fileContent: string, parsed: ParsedUWFile, output: AgentOutput, opts?: RunOptions): RunResult;
|
|
31
|
+
export declare function writeErrorEntry(fileContent: string, parsed: ParsedUWFile, agentId: string, sectionId: string, errorCode: string, errorMessage: string, opts?: Omit<RunOptions, 'updatePipelineState' | 'updateQuickMetrics'>): string;
|
|
32
|
+
export declare function buildMeta(sectionId: string, version: number, opts: {
|
|
33
|
+
source: string;
|
|
34
|
+
agentId?: string;
|
|
35
|
+
agentVersion?: string;
|
|
36
|
+
actor?: string;
|
|
37
|
+
confidence?: 'high' | 'medium' | 'low';
|
|
38
|
+
humanReviewRequired?: boolean;
|
|
39
|
+
flags?: string[];
|
|
40
|
+
inputHash?: string;
|
|
41
|
+
notes?: string;
|
|
42
|
+
}): UWMeta;
|
|
43
|
+
//# sourceMappingURL=runner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,YAAY,EAAW,MAAM,EAAE,cAAc,EAAiB,MAAM,YAAY,CAAC;AAS/F,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mBAAmB,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;IAC9D,kBAAkB,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE;QACR,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,oBAAoB,EAAE,OAAO,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;CACpB;AAID,wBAAgB,eAAe,CAC7B,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,WAAW,EACnB,IAAI,GAAE,UAAe,GACpB,SAAS,CAsFX;AAyMD,wBAAgB,eAAe,CAC7B,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,IAAI,GAAE,IAAI,CAAC,UAAU,EAAE,qBAAqB,GAAG,oBAAoB,CAAM,GACxE,MAAM,CAwBR;AAID,wBAAgB,SAAS,CACvB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE;IACJ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACvC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACA,MAAM,CAgBR"}
|
package/dist/runner.js
ADDED
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
// .uw.md runner — the write path for agent and engine outputs
|
|
2
|
+
//
|
|
3
|
+
// Responsibilities:
|
|
4
|
+
// 1. Mark an existing section block as superseded (fence annotation + _meta)
|
|
5
|
+
// 2. Append a new versioned block with correct annotation
|
|
6
|
+
// 3. Append a pipeline_log entry
|
|
7
|
+
// 4. Update frontmatter quick_metrics and pipeline_state
|
|
8
|
+
//
|
|
9
|
+
// All operations are string-based (no re-serialization of the whole file).
|
|
10
|
+
// The runner uses exact line numbers from the parser to do targeted surgery.
|
|
11
|
+
// Output is always a valid .uw.md string that parseUWFile can round-trip.
|
|
12
|
+
//
|
|
13
|
+
// Spec: UW_FORMAT_SPEC_v1.md §2.7 (update semantics), §6.3 (uwmd run)
|
|
14
|
+
import { getSection, getSectionVariant, parseUWFile } from './parser.js';
|
|
15
|
+
// Lightweight re-parse used only to get fresh line numbers after block insertion.
|
|
16
|
+
// parseUWFile is the same function — alias for clarity.
|
|
17
|
+
const parseUWFileForLog = parseUWFile;
|
|
18
|
+
// ─── Main entry point ─────────────────────────────────────────────────────────
|
|
19
|
+
export function writeAgentBlock(fileContent, parsed, output, opts = {}) {
|
|
20
|
+
const { sectionId, variant } = output;
|
|
21
|
+
const now = new Date().toISOString();
|
|
22
|
+
const agentId = opts.agentId ?? 'user';
|
|
23
|
+
const _actor = opts.actor ?? 'system';
|
|
24
|
+
// Determine the existing block (if any) for this section/variant
|
|
25
|
+
let existingBlock = null;
|
|
26
|
+
if (variant) {
|
|
27
|
+
existingBlock = getSectionVariant(parsed, sectionId, variant);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
existingBlock = getSection(parsed, sectionId);
|
|
31
|
+
}
|
|
32
|
+
const newVersion = (existingBlock?.meta?.version ?? 0) + 1;
|
|
33
|
+
// ── Step 1: Mark existing block as superseded ─────────────────────────────
|
|
34
|
+
let lines = fileContent.split('\n');
|
|
35
|
+
let supersededPriorBlock = false;
|
|
36
|
+
if (existingBlock && !existingBlock.meta?.superseded) {
|
|
37
|
+
lines = markBlockSuperseded(lines, existingBlock);
|
|
38
|
+
supersededPriorBlock = true;
|
|
39
|
+
}
|
|
40
|
+
// ── Step 2: Build the new block's annotation and JSON ─────────────────────
|
|
41
|
+
const variantPart = variant ? ` variant=${variant}` : '';
|
|
42
|
+
const annotation = `\`\`\`json uw:section=${sectionId}${variantPart} source=${agentId} ts=${now} v=${newVersion} confidence=${output.content['_meta']?.confidence ?? 'medium'}`;
|
|
43
|
+
const blockJson = JSON.stringify(output.content, null, 2);
|
|
44
|
+
const newBlockText = `${annotation}\n${blockJson}\n\`\`\``;
|
|
45
|
+
// ── Step 3: Insert before pipeline_log (or before the last section) ───────
|
|
46
|
+
const insertAt = findInsertionPoint(lines, parsed);
|
|
47
|
+
lines.splice(insertAt, 0, '', newBlockText, '');
|
|
48
|
+
// ── Step 4: Append pipeline_log entry ─────────────────────────────────────
|
|
49
|
+
// Re-parse after block insertion so pipeline_log line numbers are current.
|
|
50
|
+
// The splice in step 3 shifted all subsequent line positions; stale numbers
|
|
51
|
+
// would cause appendPipelineLogEntry to overwrite the wrong lines.
|
|
52
|
+
const afterInsert = lines.join('\n');
|
|
53
|
+
const reparsedForLog = parseUWFileForLog(afterInsert);
|
|
54
|
+
const logEntryId = `log_${Date.now()}_${Math.random().toString(36).slice(2, 6)}`;
|
|
55
|
+
lines = appendPipelineLogEntry(afterInsert.split('\n'), reparsedForLog, {
|
|
56
|
+
entry_id: logEntryId,
|
|
57
|
+
timestamp: now,
|
|
58
|
+
event_type: 'agent_run',
|
|
59
|
+
agent_or_actor: agentId,
|
|
60
|
+
section_affected: sectionId,
|
|
61
|
+
status: 'success',
|
|
62
|
+
input_sections: opts.inputSections ?? [],
|
|
63
|
+
output_sections: [sectionId],
|
|
64
|
+
flags_raised: opts.flagsRaised ?? [],
|
|
65
|
+
flags_cleared: opts.flagsCleared ?? [],
|
|
66
|
+
duration_ms: opts.durationMs ?? null,
|
|
67
|
+
input_hash: opts.inputHash ?? null,
|
|
68
|
+
output_hash: null,
|
|
69
|
+
error_code: null,
|
|
70
|
+
error_message: null,
|
|
71
|
+
notes: opts.notes ?? null,
|
|
72
|
+
});
|
|
73
|
+
// ── Step 5: Update frontmatter fields ─────────────────────────────────────
|
|
74
|
+
let result = lines.join('\n');
|
|
75
|
+
result = updateFrontmatterField(result, 'last_modified', `"${now}"`);
|
|
76
|
+
if (opts.updatePipelineState) {
|
|
77
|
+
for (const [stage, status] of Object.entries(opts.updatePipelineState)) {
|
|
78
|
+
result = updateNestedFrontmatterField(result, 'pipeline_state', stage, `"${status}"`);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
if (opts.updateQuickMetrics) {
|
|
82
|
+
for (const [metric, value] of Object.entries(opts.updateQuickMetrics)) {
|
|
83
|
+
if (value !== undefined) {
|
|
84
|
+
result = updateNestedFrontmatterField(result, 'quick_metrics', metric, value === null ? 'null' : String(value));
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return {
|
|
89
|
+
content: result,
|
|
90
|
+
newBlock: { sectionId, version: newVersion, annotation },
|
|
91
|
+
supersededPriorBlock,
|
|
92
|
+
logEntryId,
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
// ─── Mark existing block as superseded ───────────────────────────────────────
|
|
96
|
+
// Two targeted string surgeries:
|
|
97
|
+
// 1. Fence annotation: add `superseded=true` to the opening ``` line
|
|
98
|
+
// 2. _meta JSON body: replace `"superseded": false` → `"superseded": true`
|
|
99
|
+
function markBlockSuperseded(lines, block) {
|
|
100
|
+
const result = [...lines];
|
|
101
|
+
// 1. Fence annotation (lineStart is 1-indexed → array index = lineStart - 1)
|
|
102
|
+
const fenceIdx = block.lineStart - 1;
|
|
103
|
+
if (fenceIdx >= 0 && fenceIdx < result.length) {
|
|
104
|
+
const fenceLine = result[fenceIdx];
|
|
105
|
+
if (fenceLine && !fenceLine.includes('superseded=true')) {
|
|
106
|
+
// Insert superseded=true after the section annotation
|
|
107
|
+
result[fenceIdx] = fenceLine.replace(/^(```json\s+uw:section=\S+)/, '$1 superseded=true');
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
// 2. _meta.superseded inside the JSON body
|
|
111
|
+
for (let i = block.lineStart; i < block.lineEnd - 1; i++) {
|
|
112
|
+
const line = result[i];
|
|
113
|
+
if (line?.includes('"superseded": false')) {
|
|
114
|
+
result[i] = line.replace('"superseded": false', '"superseded": true');
|
|
115
|
+
break;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return result;
|
|
119
|
+
}
|
|
120
|
+
// ─── Find insertion point ─────────────────────────────────────────────────────
|
|
121
|
+
// Insert new section blocks just before the pipeline_log section.
|
|
122
|
+
// Falls back to end of file if no pipeline_log exists.
|
|
123
|
+
function findInsertionPoint(lines, parsed) {
|
|
124
|
+
// pipeline_log blocks are at the end; find the first pipeline_log fence line
|
|
125
|
+
if (parsed.pipeline_log.length > 0) {
|
|
126
|
+
const firstLogBlock = parsed.pipeline_log[0];
|
|
127
|
+
// lineStart is 1-indexed; we want the line BEFORE the opening fence
|
|
128
|
+
// Back up past any preceding blank lines and section header
|
|
129
|
+
let idx = firstLogBlock.lineStart - 2; // -1 for 0-index, -1 to be before the fence
|
|
130
|
+
while (idx > 0 && lines[idx]?.trim() === '')
|
|
131
|
+
idx--;
|
|
132
|
+
// Back up past section header (## Pipeline Log)
|
|
133
|
+
if (lines[idx]?.trim().startsWith('##'))
|
|
134
|
+
idx--;
|
|
135
|
+
// Back up past any blank lines before the header
|
|
136
|
+
while (idx > 0 && lines[idx - 1]?.trim() === '')
|
|
137
|
+
idx--;
|
|
138
|
+
return idx + 1;
|
|
139
|
+
}
|
|
140
|
+
// No pipeline_log — insert at end
|
|
141
|
+
return lines.length;
|
|
142
|
+
}
|
|
143
|
+
// ─── Append pipeline_log entry ────────────────────────────────────────────────
|
|
144
|
+
// Finds the existing pipeline_log block and adds the new entry to its entries[].
|
|
145
|
+
// If no pipeline_log block exists, appends a new one.
|
|
146
|
+
function appendPipelineLogEntry(lines, parsed, entry) {
|
|
147
|
+
if (parsed.pipeline_log.length === 0) {
|
|
148
|
+
// No pipeline_log yet — append a new one at the end
|
|
149
|
+
const now = entry['timestamp'] ?? new Date().toISOString();
|
|
150
|
+
const newLogBlock = buildNewPipelineLogBlock(entry, now);
|
|
151
|
+
return [...lines, '', newLogBlock, ''];
|
|
152
|
+
}
|
|
153
|
+
// Find the most recent pipeline_log block
|
|
154
|
+
const lastLogBlock = parsed.pipeline_log[parsed.pipeline_log.length - 1];
|
|
155
|
+
const blockLines = lines.slice(lastLogBlock.lineStart - 1, lastLogBlock.lineEnd);
|
|
156
|
+
const _joinedBlock = blockLines.join('\n');
|
|
157
|
+
// Parse current entries array from the JSON
|
|
158
|
+
let blockContent;
|
|
159
|
+
try {
|
|
160
|
+
blockContent = JSON.parse(lastLogBlock.rawJson);
|
|
161
|
+
}
|
|
162
|
+
catch {
|
|
163
|
+
// Fallback: append a new pipeline_log block
|
|
164
|
+
const now = entry['timestamp'] ?? new Date().toISOString();
|
|
165
|
+
return [...lines, '', buildNewPipelineLogBlock(entry, now), ''];
|
|
166
|
+
}
|
|
167
|
+
const entries = blockContent['entries'] ?? [];
|
|
168
|
+
entries.push(entry);
|
|
169
|
+
blockContent['entries'] = entries;
|
|
170
|
+
// Update _meta version and timestamp
|
|
171
|
+
const meta = blockContent['_meta'];
|
|
172
|
+
if (meta) {
|
|
173
|
+
meta['version'] = (meta['version'] ?? 1) + 1;
|
|
174
|
+
meta['timestamp'] = entry['timestamp'];
|
|
175
|
+
}
|
|
176
|
+
// Rebuild the block JSON
|
|
177
|
+
const updatedJson = JSON.stringify(blockContent, null, 2);
|
|
178
|
+
const newAnnotation = buildUpdatedAnnotation(lines[lastLogBlock.lineStart - 1] ?? '', (meta?.['version'] ?? 1), entry['timestamp'] ?? new Date().toISOString());
|
|
179
|
+
const result = [...lines];
|
|
180
|
+
// Replace the block's content (lineStart through lineEnd, exclusive of fences)
|
|
181
|
+
result.splice(lastLogBlock.lineStart - 1, lastLogBlock.lineEnd - lastLogBlock.lineStart + 1, newAnnotation, updatedJson, '```');
|
|
182
|
+
return result;
|
|
183
|
+
}
|
|
184
|
+
function buildNewPipelineLogBlock(entry, now) {
|
|
185
|
+
const content = {
|
|
186
|
+
_meta: {
|
|
187
|
+
section: 'pipeline_log',
|
|
188
|
+
version: 1,
|
|
189
|
+
superseded: false,
|
|
190
|
+
source: 'engine:uwmd',
|
|
191
|
+
agent_id: null,
|
|
192
|
+
agent_version: '1.0.0',
|
|
193
|
+
actor: 'system',
|
|
194
|
+
timestamp: now,
|
|
195
|
+
confidence: 'high',
|
|
196
|
+
human_review_required: false,
|
|
197
|
+
flags: [],
|
|
198
|
+
input_hash: null,
|
|
199
|
+
notes: null,
|
|
200
|
+
},
|
|
201
|
+
entries: [entry],
|
|
202
|
+
};
|
|
203
|
+
return `\`\`\`json uw:section=pipeline_log source=engine:uwmd ts=${now} v=1 confidence=high\n${JSON.stringify(content, null, 2)}\n\`\`\``;
|
|
204
|
+
}
|
|
205
|
+
function buildUpdatedAnnotation(existing, version, ts) {
|
|
206
|
+
// Update v= and ts= in existing annotation
|
|
207
|
+
return existing
|
|
208
|
+
.replace(/\bv=\d+/, `v=${version}`)
|
|
209
|
+
.replace(/\bts=\S+/, `ts=${ts}`);
|
|
210
|
+
}
|
|
211
|
+
// ─── Frontmatter field updaters ───────────────────────────────────────────────
|
|
212
|
+
// Targeted string surgery on the frontmatter YAML block.
|
|
213
|
+
function updateFrontmatterField(content, key, newValue) {
|
|
214
|
+
// Match "key: anything" in frontmatter (between --- delimiters)
|
|
215
|
+
const fmEnd = content.indexOf('\n---', 4);
|
|
216
|
+
if (fmEnd === -1)
|
|
217
|
+
return content;
|
|
218
|
+
const fm = content.slice(0, fmEnd);
|
|
219
|
+
const rest = content.slice(fmEnd);
|
|
220
|
+
const pattern = new RegExp(`^(${escapeRegex(key)}:\\s*)(.+)$`, 'm');
|
|
221
|
+
if (pattern.test(fm)) {
|
|
222
|
+
return fm.replace(pattern, `$1${newValue}`) + rest;
|
|
223
|
+
}
|
|
224
|
+
return content;
|
|
225
|
+
}
|
|
226
|
+
function updateNestedFrontmatterField(content, parentKey, childKey, newValue) {
|
|
227
|
+
const fmEnd = content.indexOf('\n---', 4);
|
|
228
|
+
if (fmEnd === -1)
|
|
229
|
+
return content;
|
|
230
|
+
const fm = content.slice(0, fmEnd);
|
|
231
|
+
const rest = content.slice(fmEnd);
|
|
232
|
+
// Match " childKey: anything" that appears after "parentKey:" in the frontmatter
|
|
233
|
+
const parentIdx = fm.indexOf(`\n${parentKey}:`);
|
|
234
|
+
if (parentIdx === -1)
|
|
235
|
+
return content;
|
|
236
|
+
const pattern = new RegExp(`(\\n${escapeRegex(parentKey)}:[^\\n]*(?:\\n [^\\n]+)*\\n ${escapeRegex(childKey)}:\\s*)([^\\n]+)`);
|
|
237
|
+
if (pattern.test(fm)) {
|
|
238
|
+
return fm.replace(pattern, `$1${newValue}`) + rest;
|
|
239
|
+
}
|
|
240
|
+
return content;
|
|
241
|
+
}
|
|
242
|
+
function escapeRegex(str) {
|
|
243
|
+
return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
244
|
+
}
|
|
245
|
+
// ─── Error block writer ───────────────────────────────────────────────────────
|
|
246
|
+
// Writes a failed agent run to the pipeline_log without modifying the section.
|
|
247
|
+
export function writeErrorEntry(fileContent, parsed, agentId, sectionId, errorCode, errorMessage, opts = {}) {
|
|
248
|
+
const now = new Date().toISOString();
|
|
249
|
+
const logEntryId = `log_${Date.now()}_err`;
|
|
250
|
+
const lines = appendPipelineLogEntry(fileContent.split('\n'), parsed, {
|
|
251
|
+
entry_id: logEntryId,
|
|
252
|
+
timestamp: now,
|
|
253
|
+
event_type: 'agent_run',
|
|
254
|
+
agent_or_actor: agentId,
|
|
255
|
+
section_affected: sectionId,
|
|
256
|
+
status: 'failed',
|
|
257
|
+
input_sections: opts.inputSections ?? [],
|
|
258
|
+
output_sections: [],
|
|
259
|
+
flags_raised: opts.flagsRaised ?? [],
|
|
260
|
+
flags_cleared: [],
|
|
261
|
+
duration_ms: opts.durationMs ?? null,
|
|
262
|
+
input_hash: null,
|
|
263
|
+
output_hash: null,
|
|
264
|
+
error_code: errorCode,
|
|
265
|
+
error_message: errorMessage,
|
|
266
|
+
notes: opts.notes ?? null,
|
|
267
|
+
});
|
|
268
|
+
return updateFrontmatterField(lines.join('\n'), 'last_modified', `"${now}"`);
|
|
269
|
+
}
|
|
270
|
+
// ─── Quick helper: build a _meta object for a new block ──────────────────────
|
|
271
|
+
export function buildMeta(sectionId, version, opts) {
|
|
272
|
+
return {
|
|
273
|
+
section: sectionId,
|
|
274
|
+
version,
|
|
275
|
+
superseded: false,
|
|
276
|
+
source: opts.source,
|
|
277
|
+
agent_id: opts.agentId ?? null,
|
|
278
|
+
agent_version: opts.agentVersion ?? null,
|
|
279
|
+
actor: opts.actor ?? 'system',
|
|
280
|
+
timestamp: new Date().toISOString(),
|
|
281
|
+
confidence: opts.confidence ?? 'medium',
|
|
282
|
+
human_review_required: opts.humanReviewRequired ?? false,
|
|
283
|
+
flags: opts.flags ?? [],
|
|
284
|
+
input_hash: opts.inputHash ? `sha256:${opts.inputHash}` : null,
|
|
285
|
+
notes: opts.notes ?? null,
|
|
286
|
+
};
|
|
287
|
+
}
|
|
288
|
+
//# sourceMappingURL=runner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type DerivedField } from './derived.js';
|
|
2
|
+
type Row = Record<string, unknown>;
|
|
3
|
+
export interface SourcesUsesDerivation {
|
|
4
|
+
fields: DerivedField[];
|
|
5
|
+
sourcesTotal: number;
|
|
6
|
+
usesTotal: number;
|
|
7
|
+
/** sourcesTotal − usesTotal, rounded. Zero (±$1) when the stack balances. */
|
|
8
|
+
gap: number;
|
|
9
|
+
balanced: boolean;
|
|
10
|
+
}
|
|
11
|
+
/** Foot a sources_uses content block. Pure: never mutates `content`. */
|
|
12
|
+
export declare function deriveSourcesUses(content: Row): SourcesUsesDerivation;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=sourcesuses.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sourcesuses.d.ts","sourceRoot":"","sources":["../src/sourcesuses.ts"],"names":[],"mappings":"AAeA,OAAO,EAAwB,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAEvE,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAKnC,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,6EAA6E;IAC7E,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,OAAO,CAAC;CACnB;AAcD,wEAAwE;AACxE,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,GAAG,GAAG,qBAAqB,CAkCrE"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
// Deterministic sources-&-uses footing — the individual source and use line
|
|
2
|
+
// items are the inputs; the sources total, uses total, nested closing-costs
|
|
3
|
+
// total, and the top-level project-cost mirrors foot from them. One source of
|
|
4
|
+
// truth so the editor, CLI, and Excel converter never disagree (invariant #4);
|
|
5
|
+
// plain arithmetic over line items, not AI math (invariant #1).
|
|
6
|
+
//
|
|
7
|
+
// A capital stack must balance: total sources == total uses. deriveSourcesUses
|
|
8
|
+
// reports `balanced` and the gap so the editor can surface an imbalance (e.g. a
|
|
9
|
+
// missing equity plug) without silently writing a value.
|
|
10
|
+
//
|
|
11
|
+
// Field-name tolerance: deals use both a flat top-level mirror (`total_sources`/
|
|
12
|
+
// `total_uses`, office worked example) and a single `total_project_cost`
|
|
13
|
+
// (multifamily worked example), plus per-bucket `sources.total` / `uses.total`.
|
|
14
|
+
// Whichever total keys already exist in the block are written back.
|
|
15
|
+
import { collector, numOrNull } from './derived.js';
|
|
16
|
+
const num = numOrNull;
|
|
17
|
+
const isObj = (v) => v !== null && typeof v === 'object' && !Array.isArray(v);
|
|
18
|
+
/** Sum the "line items" of a bucket: every numeric leaf plus the footed sum of
|
|
19
|
+
* any nested object (e.g. uses.closing_costs), always skipping `total` keys. */
|
|
20
|
+
function sumLines(obj) {
|
|
21
|
+
let total = 0;
|
|
22
|
+
for (const [k, v] of Object.entries(obj)) {
|
|
23
|
+
if (k === 'total')
|
|
24
|
+
continue;
|
|
25
|
+
if (isObj(v))
|
|
26
|
+
total += sumLines(v);
|
|
27
|
+
else
|
|
28
|
+
total += num(v) ?? 0;
|
|
29
|
+
}
|
|
30
|
+
return total;
|
|
31
|
+
}
|
|
32
|
+
/** Foot a sources_uses content block. Pure: never mutates `content`. */
|
|
33
|
+
export function deriveSourcesUses(content) {
|
|
34
|
+
const c = collector();
|
|
35
|
+
const sources = isObj(content['sources']) ? content['sources'] : {};
|
|
36
|
+
const uses = isObj(content['uses']) ? content['uses'] : {};
|
|
37
|
+
// Nested closing-costs sub-rollup (only when it is an itemized object).
|
|
38
|
+
const closing = uses['closing_costs'];
|
|
39
|
+
if (isObj(closing)) {
|
|
40
|
+
c.add('uses.closing_costs.total', 'Closing Costs (total)', 'currency', sumLines(closing));
|
|
41
|
+
}
|
|
42
|
+
const sourcesTotal = sumLines(sources);
|
|
43
|
+
const usesTotal = sumLines(uses);
|
|
44
|
+
if (Object.keys(sources).length > 0) {
|
|
45
|
+
c.add('sources.total', 'Total Sources', 'currency', sourcesTotal);
|
|
46
|
+
}
|
|
47
|
+
if (Object.keys(uses).length > 0) {
|
|
48
|
+
c.add('uses.total', 'Total Uses', 'currency', usesTotal);
|
|
49
|
+
}
|
|
50
|
+
// Top-level mirrors — write back only the keys the block already carries.
|
|
51
|
+
if ('total_sources' in content) {
|
|
52
|
+
c.add('total_sources', 'Total Sources', 'currency', sourcesTotal);
|
|
53
|
+
}
|
|
54
|
+
if ('total_uses' in content) {
|
|
55
|
+
c.add('total_uses', 'Total Uses', 'currency', usesTotal);
|
|
56
|
+
}
|
|
57
|
+
if ('total_project_cost' in content) {
|
|
58
|
+
c.add('total_project_cost', 'Total Project Cost', 'currency', usesTotal);
|
|
59
|
+
}
|
|
60
|
+
const gap = Math.round(sourcesTotal - usesTotal);
|
|
61
|
+
return { fields: c.fields, sourcesTotal, usesTotal, gap, balanced: Math.abs(gap) <= 1 };
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=sourcesuses.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sourcesuses.js","sourceRoot":"","sources":["../src/sourcesuses.ts"],"names":[],"mappings":"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"}
|