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.
Files changed (2) hide show
  1. package/dist/server-core.js +14 -14
  2. package/package.json +3 -3
@@ -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.99";
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.99",
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.12.0",
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: "^3.24.1"
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.99",
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.12.0",
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": "^3.24.1"
35
+ "zod": "^4.6.7"
36
36
  },
37
37
  "optionalDependencies": {
38
38
  "@napi-rs/canvas": "^0.1.100"