@typeroll/mcp-server 0.45.74 → 0.45.75

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.js CHANGED
@@ -105,6 +105,7 @@ function effectFor(name) {
105
105
  || name === 'set_email_settings'
106
106
  || name === 'delete_email_settings'
107
107
  || name === 'send_test_email'
108
+ || name === 'retry_form_intake_notification'
108
109
  || name === 'set_incoming_email_forwarding')
109
110
  return 'admin';
110
111
  // Compute an answer and write nothing, like the preview_* tools.
@@ -135,6 +135,18 @@ export const formTools = [
135
135
  return ok(res);
136
136
  }),
137
137
  },
138
+ {
139
+ name: 'list_form_intake_responses',
140
+ description: 'Administrator-only private questionnaire responses linked to one Page. Includes partial answers and notification status; never use for public profile content. Installation access requires forms:intake:read and is restricted to its own form.',
141
+ inputSchema: { form_id: z.string(), page_id: z.string(), after_id: z.string().optional() },
142
+ handler: withErrorBoundary(async ({ form_id, page_id, after_id }, { client, siteId }) => ok(await client.get(siteId, `forms/${encodeURIComponent(form_id)}/intake-responses`, { page_id, after_id }))),
143
+ },
144
+ {
145
+ name: 'retry_form_intake_notification',
146
+ description: 'Explicitly retry one private questionnaire notification after a confirmed failure, or dispatch its pending outbox event. Never resends accepted, in-flight or uncertain delivery. Requires site administrator access; installation callers need forms:intake:read and email:send.',
147
+ inputSchema: { form_id: z.string(), page_id: z.string(), submission_id: z.string().regex(/^[a-f0-9]{64}$/), event: z.enum(['first_answer', 'complete']) },
148
+ handler: withErrorBoundary(async ({ form_id, page_id, submission_id, event }, { client, siteId }) => ok(await client.post(siteId, `forms/${encodeURIComponent(form_id)}/intake-responses`, { submission_id, event }, { page_id }))),
149
+ },
138
150
  {
139
151
  name: 'list_form_submissions',
140
152
  description: 'List submissions received for a form, newest first, cursor-paginated (cap 200 per page). Admins also see each submission\'s webhook delivery status. Use this to help a customer triage inbound contact / lead submissions; read_form_submission reads one.',
package/dist/version.js CHANGED
@@ -8,4 +8,4 @@
8
8
  //
9
9
  // Keep it in lockstep with package.json: tests/version.test.ts asserts
10
10
  // VERSION === package.json.version, so a bump that forgets this line fails CI.
11
- export const VERSION = '0.45.74';
11
+ export const VERSION = '0.45.75';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typeroll/mcp-server",
3
- "version": "0.45.74",
3
+ "version": "0.45.75",
4
4
  "description": "Typeroll CMS MCP server – connect AI agents to the REST API to manage content and publish static websites.",
5
5
  "license": "MIT",
6
6
  "repository": {