@casys/mcp-erpnext 3.1.0-beta.8 → 3.1.0-beta.9

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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Casys AI
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -84,9 +84,11 @@ the current version's highlights.
84
84
 
85
85
  > **3.1 beta preview:** the beta keeps the 3.0 tool surface and adds a generic
86
86
  > document viewer, child tables, document attachments, in-view navigation, and
87
- > active context. Features remain capability-gated by the MCP host. In
88
- > particular, downloads require both proxied server tools and the MCP Apps
89
- > `downloadFile` capability.
87
+ > active context. **3.1.0-beta.9** adds read-only Buy evidence capture and an
88
+ > immutable recorded-session viewer. Features remain capability-gated by the MCP
89
+ > host. In particular, downloads require both proxied server tools and the MCP
90
+ > Apps `downloadFile` capability. Buy evidence does not purchase or qualify a
91
+ > live ERP.
90
92
 
91
93
  ## Documentation
92
94
 
@@ -192,19 +194,20 @@ until it exists. See
192
194
 
193
195
  ## UI Viewers
194
196
 
195
- Eight interactive [MCP Apps](https://github.com/modelcontextprotocol/ext-apps)
197
+ Nine interactive [MCP Apps](https://github.com/modelcontextprotocol/ext-apps)
196
198
  viewers, registered as `ui://mcp-erpnext/{name}`:
197
199
 
198
- | Viewer | Description | Interactive Features |
199
- | ---------------- | ---------------------------------------------------------------- | --------------------------------------------------------------------------------------------- |
200
- | `doc-viewer` | Generic ERPNext document with fields and child tables | Capability-gated attachments, typed navigation, guarded Submit/Cancel, and raw JSON fallback. |
201
- | `doclist-viewer` | Generic document table with sort, filter, pagination, CSV export | Inline details, typed nested navigation, Submit/Cancel, and compact status filters. |
202
- | `invoice-viewer` | Sales Orders, Sales Invoices, and Quotations with line totals | Item, stock, party, and payment navigation plus guarded Submit/Cancel actions. |
203
- | `stock-viewer` | Stock balance table with color-coded qty badges | Item details, recent movements, stock charts, and stock-entry navigation. |
204
- | `chart-viewer` | Universal chart renderer (12 types via Recharts) | Exact point/series navigation and active-context selection across simple and composed charts. |
205
- | `kanban-viewer` | Read-write kanban for Task, Opportunity, Issue | Drag-and-drop, inline editing, serialized saves, and typed related-document navigation. |
206
- | `kpi-viewer` | Big number card with delta, sparkline, trend | Number and trend navigation with bounded active-context selection. |
207
- | `funnel-viewer` | Trapezoid sales funnel with conversion rates | Period-aware stage navigation and bounded active-context selection. |
200
+ | Viewer | Description | Interactive Features |
201
+ | --------------------- | ---------------------------------------------------------------- | --------------------------------------------------------------------------------------------- |
202
+ | `doc-viewer` | Generic ERPNext document with fields and child tables | Capability-gated attachments, typed navigation, guarded Submit/Cancel, and raw JSON fallback. |
203
+ | `doclist-viewer` | Generic document table with sort, filter, pagination, CSV export | Inline details, typed nested navigation, Submit/Cancel, and compact status filters. |
204
+ | `invoice-viewer` | Sales Orders, Sales Invoices, and Quotations with line totals | Item, stock, party, and payment navigation plus guarded Submit/Cancel actions. |
205
+ | `stock-viewer` | Stock balance table with color-coded qty badges | Item details, recent movements, stock charts, and stock-entry navigation. |
206
+ | `chart-viewer` | Universal chart renderer (12 types via Recharts) | Exact point/series navigation and active-context selection across simple and composed charts. |
207
+ | `kanban-viewer` | Read-write kanban for Task, Opportunity, Issue | Drag-and-drop, inline editing, serialized saves, and typed related-document navigation. |
208
+ | `kpi-viewer` | Big number card with delta, sparkline, trend | Number and trend navigation with bounded active-context selection. |
209
+ | `funnel-viewer` | Trapezoid sales funnel with conversion rates | Period-aware stage navigation and bounded active-context selection. |
210
+ | `buy-evidence-viewer` | Immutable sealed Buy evidence (recorded session only) | Complete, partial, unresolved, and unavailable projections; no live ERP refresh or mutation. |
208
211
 
209
212
  ### Navigation and active context
210
213
 
@@ -224,6 +227,8 @@ Viewers progressively select the best interaction supported by the host:
224
227
  direct navigation or context replacement is unavailable.
225
228
  - Without these capabilities, local inspection remains available and unsupported
226
229
  remote actions are omitted.
230
+ - The Buy evidence viewer is recorded-session only. It does not call server
231
+ tools, refresh live documents, or mutate ERP state.
227
232
 
228
233
  The server supplies typed navigation metadata and the exact `_availableTools`
229
234
  allowed for each viewer, so category-filtered deployments do not expose tools
@@ -247,6 +252,41 @@ npm ci
247
252
  node build-all.mjs
248
253
  ```
249
254
 
255
+ ## Buy evidence capture
256
+
257
+ **One** read-only tool and **one** recorded App. They do not purchase, create a
258
+ BOM/RFQ/PO, refresh live documents, replace generic ERP viewers, or qualify a
259
+ live ERPNext instance.
260
+
261
+ - Tool: `erpnext_buy_capture`. Closed DocTypes only (Item, BOM, Item Price,
262
+ Supplier Quotation, Supplier, Price List, UOM, Currency Exchange). Two
263
+ `skipCache` reads must agree on `modified` and the closed projection
264
+ fingerprint. Return is ephemeral canonical JSON + SHA-256 + byte count. The
265
+ caller cannot pass `sourceInstance`, URL, credentials, `capturedAt`, or a
266
+ digest. Digital Thread stores those bytes in its own CAS; this server does not
267
+ keep a second CAS.
268
+ - App: `io.casys.mcp-erpnext.buy-evidence` `3.1.0-beta.9`, resource
269
+ `ui://mcp-erpnext/buy-evidence-viewer` (`text/html;profile=mcp-app`), manifest
270
+ `ui://mcp-erpnext/buy-evidence-manifest` (`application/json`),
271
+ `acceptedActions` = `viewer.session.apply` only. Complete, partial,
272
+ unresolved, and unavailable projections stay labelled. No live DocViewer
273
+ refresh, mutation, or `app.callServerTool`. Session `anchor` is the sealed
274
+ Digital Thread artefact (`provenance.bundleRef`), not a hash of the displayed
275
+ projection.
276
+ - Schemas: `io.casys.mcp-erpnext.buy-source-capture/1.0`,
277
+ `io.casys.mcp-erpnext.buy-recorded-result/1.0`,
278
+ `io.casys.mcp-erpnext.buy-recorded-session/1.0`.
279
+ - The viewer is built with the other MCP Apps
280
+ (`cd src/ui && npm ci && node
281
+ build-all.mjs`). Published JSR/npm artifacts
282
+ include `src/ui/dist/` and the Buy TypeScript module; the HTML resource and
283
+ generated manifest are what a published installation serves.
284
+
285
+ Digital Thread owns configuration/seal (`buy-configuration/1.0`,
286
+ `buy-cost-bundle/1.0`, `buy.capture-configuration-cost@1`,
287
+ `buy.seal-configuration-cost@1`). A qualified
288
+ `commerce.read-erpnext-buy-source@1` binding is required before dispatch.
289
+
250
290
  ## Tools
251
291
 
252
292
  Record `_list` tools return interactive results via the doclist-viewer with row
@@ -275,6 +315,9 @@ Quotation, which retain the specialized invoice surface.
275
315
  drag-and-drop.
276
316
  - **Analytics** — Charts (bar, area, treemap, radar, scatter, P&L…), KPIs with
277
317
  sparklines, and a sales funnel.
318
+ - **Buy** — Read-only sealed capture of closed commercial documents
319
+ (`erpnext_buy_capture`) and an immutable recorded-session evidence viewer. Not
320
+ a purchase, BOM/RFQ/PO, or live ERP qualification.
278
321
  - **Setup** — Company creation and assignable user listing.
279
322
 
280
323
  Full per-tool reference with parameters: [`docs/tools.md`](docs/tools.md).