opentakeoff-mcp 0.9.99 → 0.9.100
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/server-core.js +14 -14
- package/package.json +3 -3
package/dist/server-core.js
CHANGED
|
@@ -14006,7 +14006,7 @@ var exportReportOutput = {
|
|
|
14006
14006
|
generated_with: z.string(),
|
|
14007
14007
|
sheets: z.array(z.object({ sheet_id: z.string(), sheet: z.string(), scale_source: z.string() }).passthrough()).describe("Scale provenance per sheet \u2014 how each scale was set"),
|
|
14008
14008
|
conditions: z.array(summaryRow.extend({ materials: z.array(reportMaterialLine) }).passthrough()).describe("conditionTotals rows: gross + *_net quantities AND the computed materials buy list"),
|
|
14009
|
-
by_sheet: z.array(z.object({ sheet_id: z.string(), sheet: z.string(), rows: z.array(z.record(z.unknown())) }).passthrough()).describe("BASE per-sheet subtotals \u2014 multiplier NOT applied, no waste, no materials"),
|
|
14009
|
+
by_sheet: z.array(z.object({ sheet_id: z.string(), sheet: z.string(), rows: z.array(z.record(z.string(), z.unknown())) }).passthrough()).describe("BASE per-sheet subtotals \u2014 multiplier NOT applied, no waste, no materials"),
|
|
14010
14010
|
totals: z.object({
|
|
14011
14011
|
total_sf: z.number(),
|
|
14012
14012
|
total_sf_net: z.number(),
|
|
@@ -14016,14 +14016,14 @@ var exportReportOutput = {
|
|
|
14016
14016
|
sy_net: z.number()
|
|
14017
14017
|
}).passthrough(),
|
|
14018
14018
|
materials: z.array(z.object({ name: z.string(), unit: z.string(), qty: z.number() }).passthrough()).describe("Project-wide buy list \u2014 condition rows summed by (name, unit)"),
|
|
14019
|
-
markups: z.array(z.record(z.unknown())),
|
|
14020
|
-
rfis: z.array(z.record(z.unknown())),
|
|
14021
|
-
condition_columns: z.array(z.record(z.unknown())),
|
|
14019
|
+
markups: z.array(z.record(z.string(), z.unknown())),
|
|
14020
|
+
rfis: z.array(z.record(z.string(), z.unknown())),
|
|
14021
|
+
condition_columns: z.array(z.record(z.string(), z.unknown())),
|
|
14022
14022
|
shape_labels: z.array(z.string()),
|
|
14023
|
-
by_label: z.array(z.record(z.unknown())),
|
|
14023
|
+
by_label: z.array(z.record(z.string(), z.unknown())),
|
|
14024
14024
|
units: z.string(),
|
|
14025
14025
|
display_units: z.string(),
|
|
14026
|
-
roll_goods: z.array(z.record(z.unknown())).describe("Roll-goods order rows (#136) \u2014 order_lf / rolls / order_qty per roll-goods condition, \xD7N applied; empty when no condition carries a roll_setup (always the case for a headless session today)"),
|
|
14026
|
+
roll_goods: z.array(z.record(z.string(), z.unknown())).describe("Roll-goods order rows (#136) \u2014 order_lf / rolls / order_qty per roll-goods condition, \xD7N applied; empty when no condition carries a roll_setup (always the case for a headless session today)"),
|
|
14027
14027
|
proposed_condition_edits: z.array(proposedConditionEditRow).optional().describe("Pending condition-edit proposals (#365) \u2014 the rows above print the CURRENT knobs; each entry here carries the proposed values beside them. Present only when any are pending, so a proposal-free report is byte-identical")
|
|
14028
14028
|
};
|
|
14029
14029
|
var exportMarkedPdfOutput = {
|
|
@@ -14139,7 +14139,7 @@ var resolveTagOutput = {
|
|
|
14139
14139
|
surface: z.string().describe("The schedule column: FLOOR / BASE / WALL / \u2026"),
|
|
14140
14140
|
code: z.string(),
|
|
14141
14141
|
source: wireEvidence,
|
|
14142
|
-
definition: z.object({ cells: z.record(z.string()), source: wireEvidence }).optional().describe("The finish/material-schedule row this code chains to, when one exists")
|
|
14142
|
+
definition: z.object({ cells: z.record(z.string(), z.string()), source: wireEvidence }).optional().describe("The finish/material-schedule row this code chains to, when one exists")
|
|
14143
14143
|
})).optional(),
|
|
14144
14144
|
sources: z.array(wireEvidence).optional().describe("The chain: plan tag \u2192 schedule row (the row cites the sheet that CARRIES it \u2014 under a continuation that is the CONT'D sheet)"),
|
|
14145
14145
|
revisions: z.array(wireRevision).optional().describe("resolved only \u2014 delta/REV markers on the answering schedule row or the plan bubble. The finishes above are the POST-revision answer, but the ink changed: check the marker (view_sheet its bbox) and the addendum before pricing"),
|
|
@@ -14177,7 +14177,7 @@ var sweepScheduleRowOutput = {
|
|
|
14177
14177
|
sheet: z.string(),
|
|
14178
14178
|
table: z.string().describe("The table's title (or kind, when untitled)"),
|
|
14179
14179
|
key: z.string(),
|
|
14180
|
-
cells: z.record(z.string()).describe("The row's cells, header \u2192 text \u2014 what the schedule SAYS this mark is"),
|
|
14180
|
+
cells: z.record(z.string(), z.string()).describe("The row's cells, header \u2192 text \u2014 what the schedule SAYS this mark is"),
|
|
14181
14181
|
citation: wireEvidence
|
|
14182
14182
|
}).describe("The schedule row the sweep was seeded from \u2014 the condition's source"),
|
|
14183
14183
|
anchor: z.object({
|
|
@@ -14400,7 +14400,7 @@ var countMarksOutput = {
|
|
|
14400
14400
|
committed: z.object({ committed: z.number().int(), ea_total: z.number() }).optional()
|
|
14401
14401
|
})),
|
|
14402
14402
|
total: z.number().int().describe("All counted instances across every mark"),
|
|
14403
|
-
per_sheet: z.array(z.object({ sheet: z.string(), counts: z.record(z.number().int()) })),
|
|
14403
|
+
per_sheet: z.array(z.object({ sheet: z.string(), counts: z.record(z.string(), z.number().int()) })),
|
|
14404
14404
|
excluded_in_tables: z.number().int().optional().describe("Tag occurrences inside a schedule table's own region \u2014 row labels, never instances"),
|
|
14405
14405
|
skipped: z.array(z.object({ sheet: z.string(), role: z.string(), reason: z.string() })),
|
|
14406
14406
|
complete: z.boolean()
|
|
@@ -17324,7 +17324,7 @@ All-or-nothing, like derive_base: an unknown tag, a transition landing on either
|
|
|
17324
17324
|
remove: z2.array(z2.string()).optional().describe("Existing row ids to remove"),
|
|
17325
17325
|
patch: z2.array(z2.object({
|
|
17326
17326
|
id: z2.string(),
|
|
17327
|
-
fields: z2.record(z2.union([z2.string(), z2.number(), z2.boolean()])).describe("Field:value pairs \u2014 name/per/basis/unit/round/note only")
|
|
17327
|
+
fields: z2.record(z2.string(), z2.union([z2.string(), z2.number(), z2.boolean()])).describe("Field:value pairs \u2014 name/per/basis/unit/round/note only")
|
|
17328
17328
|
})).optional().describe("Field changes on existing rows")
|
|
17329
17329
|
},
|
|
17330
17330
|
outputSchema: editMaterialsOutput
|
|
@@ -17559,7 +17559,7 @@ No review gate: the pencil-not-ink rule exists to stop an agent inventing geomet
|
|
|
17559
17559
|
import { ResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
17560
17560
|
|
|
17561
17561
|
// src/wiki.generated.ts
|
|
17562
|
-
var WIKI_VERSION = "0.9.
|
|
17562
|
+
var WIKI_VERSION = "0.9.100";
|
|
17563
17563
|
var WIKI_PAGES = [
|
|
17564
17564
|
{
|
|
17565
17565
|
"key": "index",
|
|
@@ -18175,7 +18175,7 @@ function nameTheStageInRefusals(server) {
|
|
|
18175
18175
|
// package.json
|
|
18176
18176
|
var package_default = {
|
|
18177
18177
|
name: "opentakeoff-mcp",
|
|
18178
|
-
version: "0.9.
|
|
18178
|
+
version: "0.9.100",
|
|
18179
18179
|
mcpName: "io.github.Kentucky-ai/opentakeoff",
|
|
18180
18180
|
type: "module",
|
|
18181
18181
|
description: "OpenTakeoff MCP server \u2014 drive the takeoff engine from your MCP client over stdio.",
|
|
@@ -18198,7 +18198,7 @@ var package_default = {
|
|
|
18198
18198
|
test: "node --import tsx --test test/arc.test.ts test/checkers.test.ts test/conformance.test.ts test/constants.test.ts test/context.test.ts test/document.test.ts test/dxf.test.ts test/e2e.test.ts test/estimate.test.ts test/finishSchedule.test.ts test/gate.test.ts test/graphEvalRowsym.test.ts test/labels.test.ts test/mep.test.ts test/overlap.test.ts test/pageSpans.test.ts test/parity.test.ts test/proposals.test.ts test/raster.test.ts test/resources.test.ts test/safewrite.test.ts test/scalewarn.test.ts test/scheduleImport.test.ts test/scope.test.ts test/session.test.ts test/splittags.test.ts test/staging.test.ts test/sweepguard.test.ts test/tools.test.ts test/transitions.test.ts test/twins.test.ts test/view.test.ts test/wiki.test.ts"
|
|
18199
18199
|
},
|
|
18200
18200
|
dependencies: {
|
|
18201
|
-
"@modelcontextprotocol/sdk": "^1.
|
|
18201
|
+
"@modelcontextprotocol/sdk": "^1.32.2",
|
|
18202
18202
|
"@turf/boolean-contains": "^7.4.0",
|
|
18203
18203
|
"@turf/boolean-overlap": "^7.4.0",
|
|
18204
18204
|
"@turf/difference": "^7.4.0",
|
|
@@ -18207,7 +18207,7 @@ var package_default = {
|
|
|
18207
18207
|
jsts: "^2.12.1",
|
|
18208
18208
|
"pdf-lib": "^1.17.1",
|
|
18209
18209
|
"pdfjs-dist": "^4.10.38",
|
|
18210
|
-
zod: "^
|
|
18210
|
+
zod: "^4.6.7"
|
|
18211
18211
|
},
|
|
18212
18212
|
optionalDependencies: {
|
|
18213
18213
|
"@napi-rs/canvas": "^0.1.100"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "opentakeoff-mcp",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.100",
|
|
4
4
|
"mcpName": "io.github.Kentucky-ai/opentakeoff",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "OpenTakeoff MCP server — drive the takeoff engine from your MCP client over stdio.",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"test": "node --import tsx --test test/arc.test.ts test/checkers.test.ts test/conformance.test.ts test/constants.test.ts test/context.test.ts test/document.test.ts test/dxf.test.ts test/e2e.test.ts test/estimate.test.ts test/finishSchedule.test.ts test/gate.test.ts test/graphEvalRowsym.test.ts test/labels.test.ts test/mep.test.ts test/overlap.test.ts test/pageSpans.test.ts test/parity.test.ts test/proposals.test.ts test/raster.test.ts test/resources.test.ts test/safewrite.test.ts test/scalewarn.test.ts test/scheduleImport.test.ts test/scope.test.ts test/session.test.ts test/splittags.test.ts test/staging.test.ts test/sweepguard.test.ts test/tools.test.ts test/transitions.test.ts test/twins.test.ts test/view.test.ts test/wiki.test.ts"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@modelcontextprotocol/sdk": "^1.
|
|
26
|
+
"@modelcontextprotocol/sdk": "^1.32.2",
|
|
27
27
|
"@turf/boolean-contains": "^7.4.0",
|
|
28
28
|
"@turf/boolean-overlap": "^7.4.0",
|
|
29
29
|
"@turf/difference": "^7.4.0",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"jsts": "^2.12.1",
|
|
33
33
|
"pdf-lib": "^1.17.1",
|
|
34
34
|
"pdfjs-dist": "^4.10.38",
|
|
35
|
-
"zod": "^
|
|
35
|
+
"zod": "^4.6.7"
|
|
36
36
|
},
|
|
37
37
|
"optionalDependencies": {
|
|
38
38
|
"@napi-rs/canvas": "^0.1.100"
|