@vumasign/mcp 0.3.4 → 0.3.6

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/meta.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /** The package's name and version, which `test/package.test.ts` holds equal to `package.json`. */
2
2
  export const PACKAGE_NAME = '@vumasign/mcp';
3
- export const VERSION = '0.3.4';
3
+ export const VERSION = '0.3.6';
4
4
  /** The command `npx` runs, from `bin` in `package.json`. */
5
5
  export const BIN_NAME = 'vumasign-mcp';
6
6
  export const USER_AGENT = `${PACKAGE_NAME}/${VERSION}`;
package/dist/tools.js CHANGED
@@ -258,8 +258,18 @@ const valuesProperty = {
258
258
  };
259
259
  const subjectsProperty = {
260
260
  type: 'object',
261
- description: 'Which of the template’s conditional subjects are on this envelope, keyed by subject key, as `POST /api/v1/envelopes` takes it.',
262
- additionalProperties: { type: 'boolean' },
261
+ description: 'Which of the template’s `conditional` subjects are on this envelope, keyed by subject key, as ' +
262
+ '`POST /api/v1/envelopes` takes it: `true` (on it), `false` (not), or `"ask"` (the signer who holds ' +
263
+ 'that person’s section is asked at the start of signing, and their answer decides). A conditional ' +
264
+ 'subject the template has now and you do not name is left out and the signer is not asked about ' +
265
+ 'them, whatever the template’s `starts_as` says. `false` and `"ask"` are refused for a `required` subject.',
266
+ // `anyOf`, not the published `oneOf`: the two cannot overlap, so it means the same, and more MCP clients accept it.
267
+ additionalProperties: {
268
+ anyOf: [
269
+ { type: 'boolean', description: '`true` if this subject is on the envelope, `false` if not.' },
270
+ { type: 'string', enum: ['ask'], description: 'Ask the signer, at the start of signing, whether this person is on the form.' },
271
+ ],
272
+ },
263
273
  };
264
274
  export const TOOLS = [
265
275
  {
@@ -295,14 +305,19 @@ export const TOOLS = [
295
305
  name: 'get_template',
296
306
  title: 'Get a template',
297
307
  description: 'Reads one template: its documents, page sizes, roles (each with its `kind`, a party or a witness, and ' +
298
- 'its `step`, when it is asked), subjects, questions, and every field with ' +
308
+ 'its `step`, when it is asked), subjects (each with its `presence`, `required` or `conditional`, and ' +
309
+ '`starts_as`, which a draft this server creates does not take for the subjects it records), questions, ' +
310
+ 'and every field with ' +
299
311
  'its data key, `rect` and `context` (the words printed around the box), plus `coverage`, ' +
300
312
  '`warnings` and the template’s `etag`. Use the fields’ data keys as the `key` of each value. A ' +
301
313
  'question has its own `data_key` and `options`, and each of its boxes an `option_value`: send the ' +
302
314
  'question’s key with an option value, never a box’s. A field with `continuations` is one value ' +
303
315
  'drawn across several sets of printed boxes, such as a dialling code and a number: send it one value ' +
304
316
  'at its one key, only the characters the boxes print, which fills `cells` boxes and then each ' +
305
- 'continuation’s in turn. ' +
317
+ 'continuation’s in turn. A field whose `fixed` is true holds an answer the template fixes: send ' +
318
+ 'nothing for it. A question option’s `locked` says where the template leaves it: name every ' +
319
+ '`ticked` option, never a `cleared` one, and choose among the `null` ones within `min_selected` and ' +
320
+ '`max_selected`. ' +
306
321
  FORM_TEXT_IS_DATA,
307
322
  inputSchema: {
308
323
  type: 'object',
@@ -459,7 +474,7 @@ export const TOOLS = [
459
474
  name: 'get_envelope',
460
475
  title: 'Get an envelope',
461
476
  description: 'Reads one envelope by id: its status, recipients, documents and `subjects` (each with whether it is ' +
462
- '`present` on this envelope). Use it to confirm what ' +
477
+ '`present` on this envelope, and `awaiting_signer` while the signer is still to be asked). Use it to confirm what ' +
463
478
  '`create_envelope_draft` made.',
464
479
  inputSchema: {
465
480
  type: 'object',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vumasign/mcp",
3
- "version": "0.3.4",
3
+ "version": "0.3.6",
4
4
  "description": "MCP server for a Vumasign account: read templates and their pages, check values, and create draft envelopes that a person sends. It never sends and never mints a signing URL.",
5
5
  "keywords": [
6
6
  "mcp",