@forumone/throughline-forms 0.6.2 → 0.6.4
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/CHANGELOG.md +37 -0
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +3 -2
- package/dist/plugin.js.map +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,42 @@
|
|
|
1
1
|
# @forumone/throughline-forms
|
|
2
2
|
|
|
3
|
+
## 0.6.4
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [d02772f]
|
|
8
|
+
- @forumone/throughline-core@0.9.1
|
|
9
|
+
- @forumone/throughline-email@0.2.12
|
|
10
|
+
|
|
11
|
+
## 0.6.3
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- debfcd2: `system.error` now has a writer. Every MCP tool handler the suite serves is
|
|
16
|
+
wrapped, so a tool that throws records one `system.error` audit row — the
|
|
17
|
+
server, the tool, the caller, the caller's `_meta`, and the error's message —
|
|
18
|
+
before the throw propagates to the MCP client as it did before.
|
|
19
|
+
|
|
20
|
+
The row carries no stack and no arguments: `error_message` is readable by every
|
|
21
|
+
admin and editor, a stack names file paths, and a tool's input can hold a draft
|
|
22
|
+
body or a form submission. A failure inside the recording is logged and
|
|
23
|
+
swallowed, so this wrapper can never replace a tool's real error with its own.
|
|
24
|
+
|
|
25
|
+
`mcpServer` is resolved through a map rather than from the collector's own
|
|
26
|
+
server name, because the two vocabularies disagree: the components server
|
|
27
|
+
declares itself `components` and the audit enum's value is `component`. A
|
|
28
|
+
server that passes an audit writer and has no name in that map is now a
|
|
29
|
+
boot-time refusal instead of a row Payload silently rejects. New export:
|
|
30
|
+
`auditServerFor`.
|
|
31
|
+
|
|
32
|
+
Each of the six servers passes its audit writer to `collector.add`, alongside
|
|
33
|
+
the logger it already passed. A host wiring a tool by hand passes none and gets
|
|
34
|
+
the previous behaviour.
|
|
35
|
+
|
|
36
|
+
- Updated dependencies [debfcd2]
|
|
37
|
+
- @forumone/throughline-core@0.9.0
|
|
38
|
+
- @forumone/throughline-email@0.2.11
|
|
39
|
+
|
|
3
40
|
## 0.6.2
|
|
4
41
|
|
|
5
42
|
### Patch Changes
|
package/dist/plugin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAqB,MAAM,uCAAuC,CAAA;AAI1F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,OAAO,EAAE,KAAK,kBAAkB,EAAmB,MAAM,cAAc,CAAA;AA8BvE;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,WAAW,EAAE,UAAU,CAAC,kBAAkB,
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAqB,MAAM,uCAAuC,CAAA;AAI1F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,OAAO,EAAE,KAAK,kBAAkB,EAAmB,MAAM,cAAc,CAAA;AA8BvE;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,WAAW,EAAE,UAAU,CAAC,kBAAkB,CAgJpD,CAAA;AAEH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,eAAe,CAAC,GAAG,EAAE,CAKzE"}
|
package/dist/plugin.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getPluginRegistry } from '@forumone/throughline-plugin-contract';
|
|
2
|
-
import { createNamedLogger, defaultLogger } from '@forumone/throughline-core';
|
|
2
|
+
import { createNamedLogger, defaultLogger, getAuditWriter } from '@forumone/throughline-core';
|
|
3
3
|
import { getEmailClient as readEmailClient } from '@forumone/throughline-email';
|
|
4
4
|
import { formBuilderPlugin } from '@payloadcms/plugin-form-builder';
|
|
5
5
|
import { validateOptions } from './options.js';
|
|
@@ -118,6 +118,7 @@ export const formsPlugin = (rawOptions) => (incomingConfig) => {
|
|
|
118
118
|
const registry = getPluginRegistry(payload);
|
|
119
119
|
registry.requireCapability('audit-log', PLUGIN_ID);
|
|
120
120
|
registry.requireCapability('email', PLUGIN_ID);
|
|
121
|
+
const auditWriter = getAuditWriter(payload);
|
|
121
122
|
const tools = [
|
|
122
123
|
createListAllowedDestinationsTool({ options: resolved.options }),
|
|
123
124
|
createValidateFormTool({ options: resolved.options }),
|
|
@@ -129,7 +130,7 @@ export const formsPlugin = (rawOptions) => (incomingConfig) => {
|
|
|
129
130
|
// Payload's own MCP plugin, and the only transport these tools have.
|
|
130
131
|
// `onInit` is both the earliest they can exist and still early enough
|
|
131
132
|
// that `mcpPlugin` reads the array populated.
|
|
132
|
-
resolved.options.mcpTools?.add(tools, { serverName: 'forms', logger });
|
|
133
|
+
resolved.options.mcpTools?.add(tools, { serverName: 'forms', logger, audit: auditWriter });
|
|
133
134
|
const fanOutDeps = { inngest: resolved.options.inngest, payload, resolved };
|
|
134
135
|
const getEmailClient = () => readEmailClient(payload);
|
|
135
136
|
const functions = [
|
package/dist/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AACzE,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forumone/throughline-forms",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.4",
|
|
4
4
|
"description": "Policy-aware forms layer for the Throughline framework. Wraps Payload's Form Builder with privacy notices, consent, honeypot spam protection, IP rate limiting, a destination allowlist, and submitter confirmation. Six MCP tools for Claude-driven form management; submissions fan out to email and webhook destinations via Inngest.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -46,8 +46,8 @@
|
|
|
46
46
|
"@react-email/components": "^0.5.4",
|
|
47
47
|
"@react-email/render": "^1.3.2",
|
|
48
48
|
"zod": "^3.23.0",
|
|
49
|
-
"@forumone/throughline-core": "0.
|
|
50
|
-
"@forumone/throughline-email": "0.2.
|
|
49
|
+
"@forumone/throughline-core": "0.9.1",
|
|
50
|
+
"@forumone/throughline-email": "0.2.12",
|
|
51
51
|
"@forumone/throughline-plugin-contract": "0.4.1"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|