@cplace/mcp-server 1.11.5 → 1.11.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.
@@ -3,7 +3,7 @@ import { z } from 'zod';
3
3
  import { CplaceApiClient } from '../api.js';
4
4
  export declare const PAGE_ACTION_SIMULATION_TOOL_DEFINITIONS: {
5
5
  readonly cplace_simulate_page_action: {
6
- readonly description: "Execute a page-action script under the production page-action engine context for pre-embed verification.\n\nThis tool mirrors the engine row used by the real page-action runtime\n(`ExecutePageActionHandler.getActionScript` in cplace platform). The bindings,\nallowed type classes, and posture come from the platform source row — see\n`script-context-cards/page-action.md` and `best-practices/low-code/script-contexts.md`.\n\n**Mode**: Read-only via `ServerMode.prohibitWriteAccess`direct entity mutation\nfails. Side effects must go through `cplace.actions(...)`, which **is** enabled.\n**Timeout**: 30 seconds maximum execution time\n\n**Injected bindings** (in addition to the baseline cplace API):\n- `page` — WrappedPage the action was invoked on\n- `embeddingPage` — WrappedPage hosting the action (aliased to `page` at this row in production)\n- `messages` — CplaceJSTypeMessageProvider for the page's type (when one exists)\n\n**Allowed type classes**: `Search`, `Filters` (lowcode wrapper classes).\n**`cplace.actions(...)`**: enabled. Use it for any state-changing side effect.\n\n**Return Value Restrictions**: Same as cplace_execute_script (primitives, flat arrays/objects only).\n\n**When to use**: Before saving a page-action script, to verify the action body's\ncontrol flow against `page`, `embeddingPage`, and any `cplace.actions()` call.\nFor other contexts (widget, change listener, validator, job, wizard, button widget)\nuse the matching `cplace_simulate_*` tool — never `cplace_execute_script_write`\nfor context-specific scripts.";
6
+ readonly description: "Execute a page-action script under the production page-action engine context for pre-embed verification.\n\nThis tool runs the real two-phase page-action lifecycle from the cplace platform\n(`ExecutePageActionHandler`). The bindings, allowed type classes, and posture come\nfrom the platform source row — see `script-context-cards/page-action.md` and\n`best-practices/low-code/script-contexts.md`.\n\n**Script shape**: `script` must evaluate to an action object that exposes at least a\n`call` method (optionally a `checkAccess` method), exactly like a saved page action:\n```js\nreturn {\n checkAccess: function() { return true; }, // optional; false denies and skips call()\n call: function() {\n // write-enabled persisting actions commit here\n cplace.actions('<plugin>').createPage({ name: '...', space: '...', customType: '...' });\n return 'ok';\n }\n};\n```\n\n**Two-phase lifecycle**:\n1. **Load (module level)** runs under `ServerMode.prohibitWriteAccess`. The object is\n evaluated here. A write or persisting action at module level **fails** move it into\n `call()`. A missing `call` member is rejected.\n2. **checkAccess + call**. `checkAccess()` is honored: returning `false` reports access\n denial and `call()` is **not** run. `call()` then runs **write-enabled** — persisting\n actions (`createPage`, `deletePage`, …) **commit**. This requires low-code edit\n permission (`mayEditLowCode`); without it the call is denied.\n\nThe tool returns `call()`'s **raw value**. It does **not** reproduce the framework's\nreturn-object interpretation (`success` / `message` / `target` → URL / `job` → modal).\n**Timeout**: 30 seconds maximum execution time.\n\n**Injected bindings** (in addition to the baseline cplace API):\n- `page` — WrappedPage the action was invoked on\n- `embeddingPage` — WrappedPage hosting the action (aliased to `page` at this row in production)\n- `messages` — CplaceJSTypeMessageProvider for the page's type (when one exists)\n\n**Allowed type classes**: `Search`, `Filters` (lowcode wrapper classes).\n**`cplace.actions(...)`**: enabled. Use it for any state-changing side effect (inside `call()`).\n\n**Writes are real**: a `call()` that persists commits to the dev instance. There is no\ndry-run/rollback mode.\n\n**Return Value Restrictions**: Same as cplace_execute_script (primitives, flat arrays/objects only).\n\n**When to use**: Before saving a page-action script, to verify the action object's\n`checkAccess`/`call` control flow against `page`, `embeddingPage`, and any\n`cplace.actions()` call. For other contexts (widget, change listener, validator, job,\nwizard, button widget) use the matching `cplace_simulate_*` tool — never\n`cplace_execute_script_write` for context-specific scripts.";
7
7
  readonly inputSchema: {
8
8
  readonly script: z.ZodString;
9
9
  readonly pageUID: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"page-action-simulation.d.ts","sourceRoot":"","sources":["../../src/tools/page-action-simulation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAO5C,eAAO,MAAM,uCAAuC;;;;;;;;;;;;CA8C1C,CAAC;AAEX,wBAAgB,iCAAiC,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,QAkE3F"}
1
+ {"version":3,"file":"page-action-simulation.d.ts","sourceRoot":"","sources":["../../src/tools/page-action-simulation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAO5C,eAAO,MAAM,uCAAuC;;;;;;;;;;;;CAyE1C,CAAC;AAEX,wBAAgB,iCAAiC,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,QAkE3F"}
@@ -7,14 +7,36 @@ export const PAGE_ACTION_SIMULATION_TOOL_DEFINITIONS = {
7
7
  [TOOL_SIMULATE_PAGE_ACTION]: {
8
8
  description: `Execute a page-action script under the production page-action engine context for pre-embed verification.
9
9
 
10
- This tool mirrors the engine row used by the real page-action runtime
11
- (\`ExecutePageActionHandler.getActionScript\` in cplace platform). The bindings,
12
- allowed type classes, and posture come from the platform source row — see
13
- \`script-context-cards/page-action.md\` and \`best-practices/low-code/script-contexts.md\`.
10
+ This tool runs the real two-phase page-action lifecycle from the cplace platform
11
+ (\`ExecutePageActionHandler\`). The bindings, allowed type classes, and posture come
12
+ from the platform source row — see \`script-context-cards/page-action.md\` and
13
+ \`best-practices/low-code/script-contexts.md\`.
14
14
 
15
- **Mode**: Read-only via \`ServerMode.prohibitWriteAccess\` direct entity mutation
16
- fails. Side effects must go through \`cplace.actions(...)\`, which **is** enabled.
17
- **Timeout**: 30 seconds maximum execution time
15
+ **Script shape**: \`script\` must evaluate to an action object that exposes at least a
16
+ \`call\` method (optionally a \`checkAccess\` method), exactly like a saved page action:
17
+ \`\`\`js
18
+ return {
19
+ checkAccess: function() { return true; }, // optional; false denies and skips call()
20
+ call: function() {
21
+ // write-enabled — persisting actions commit here
22
+ cplace.actions('<plugin>').createPage({ name: '...', space: '...', customType: '...' });
23
+ return 'ok';
24
+ }
25
+ };
26
+ \`\`\`
27
+
28
+ **Two-phase lifecycle**:
29
+ 1. **Load (module level)** runs under \`ServerMode.prohibitWriteAccess\`. The object is
30
+ evaluated here. A write or persisting action at module level **fails** — move it into
31
+ \`call()\`. A missing \`call\` member is rejected.
32
+ 2. **checkAccess + call**. \`checkAccess()\` is honored: returning \`false\` reports access
33
+ denial and \`call()\` is **not** run. \`call()\` then runs **write-enabled** — persisting
34
+ actions (\`createPage\`, \`deletePage\`, …) **commit**. This requires low-code edit
35
+ permission (\`mayEditLowCode\`); without it the call is denied.
36
+
37
+ The tool returns \`call()\`'s **raw value**. It does **not** reproduce the framework's
38
+ return-object interpretation (\`success\` / \`message\` / \`target\` → URL / \`job\` → modal).
39
+ **Timeout**: 30 seconds maximum execution time.
18
40
 
19
41
  **Injected bindings** (in addition to the baseline cplace API):
20
42
  - \`page\` — WrappedPage the action was invoked on
@@ -22,19 +44,24 @@ fails. Side effects must go through \`cplace.actions(...)\`, which **is** enable
22
44
  - \`messages\` — CplaceJSTypeMessageProvider for the page's type (when one exists)
23
45
 
24
46
  **Allowed type classes**: \`Search\`, \`Filters\` (lowcode wrapper classes).
25
- **\`cplace.actions(...)\`**: enabled. Use it for any state-changing side effect.
47
+ **\`cplace.actions(...)\`**: enabled. Use it for any state-changing side effect (inside \`call()\`).
48
+
49
+ **Writes are real**: a \`call()\` that persists commits to the dev instance. There is no
50
+ dry-run/rollback mode.
26
51
 
27
52
  **Return Value Restrictions**: Same as cplace_execute_script (primitives, flat arrays/objects only).
28
53
 
29
- **When to use**: Before saving a page-action script, to verify the action body's
30
- control flow against \`page\`, \`embeddingPage\`, and any \`cplace.actions()\` call.
31
- For other contexts (widget, change listener, validator, job, wizard, button widget)
32
- use the matching \`cplace_simulate_*\` tool — never \`cplace_execute_script_write\`
33
- for context-specific scripts.`,
54
+ **When to use**: Before saving a page-action script, to verify the action object's
55
+ \`checkAccess\`/\`call\` control flow against \`page\`, \`embeddingPage\`, and any
56
+ \`cplace.actions()\` call. For other contexts (widget, change listener, validator, job,
57
+ wizard, button widget) use the matching \`cplace_simulate_*\` tool — never
58
+ \`cplace_execute_script_write\` for context-specific scripts.`,
34
59
  inputSchema: {
35
- script: z.string().describe(`JavaScript code to execute. Bindings: \`page\`, \`embeddingPage\` (both WrappedPage), \`messages\` (CplaceJSTypeMessageProvider).
36
- \`cplace.actions(...)\` is available; direct entity mutation (e.g. \`page.set(...)\`) fails under \`prohibitWriteAccess\`.
37
- Allowed type classes: Search, Filters. Must return a JSON-serializable value.` +
60
+ script: z.string().describe(`JavaScript that evaluates to a page-action object with at least a \`call\` method (optionally \`checkAccess\`), e.g. \`return { call: function() { ... } };\`.
61
+ Bindings: \`page\`, \`embeddingPage\` (both WrappedPage), \`messages\` (CplaceJSTypeMessageProvider).
62
+ Load (module level) runs under \`prohibitWriteAccess\` a write/persisting action there fails; put persistence inside \`call()\`, which runs write-enabled and commits (requires low-code edit permission).
63
+ \`checkAccess()\` returning false denies and skips \`call()\`. The tool returns \`call()\`'s raw value.
64
+ Allowed type classes: Search, Filters. \`call()\` must return a JSON-serializable value.` +
38
65
  CPLACEJS_COMMON_API_CHEAT_SHEET),
39
66
  pageUID: z
40
67
  .string()
@@ -1 +1 @@
1
- {"version":3,"file":"page-action-simulation.js","sourceRoot":"","sources":["../../src/tools/page-action-simulation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"page-action-simulation.js","sourceRoot":"","sources":["../../src/tools/page-action-simulation.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cplace/mcp-server",
3
- "version": "1.11.5",
3
+ "version": "1.11.6",
4
4
  "description": "MCP server that provides Claude Desktop with tools to interact with cplace APIs",
5
5
  "main": "dist/public-api.js",
6
6
  "types": "dist/public-api.d.ts",