@cplace/mcp-server 1.11.5 → 1.11.7

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.
@@ -37,7 +37,7 @@ export declare const LayoutContextSchema: z.ZodEffects<z.ZodUnion<[z.ZodObject<{
37
37
  export type LayoutContext = z.infer<typeof LayoutContextSchema>;
38
38
  export declare const LAYOUT_TOOL_DEFINITIONS: {
39
39
  readonly cplace_execute_layout_script: {
40
- readonly description: "Execute a layout script — either a full layout.define() replacement or per-widget edit verbs.\n\nTWO MODES (determined by script content):\n\nMODE 1 — FULL REPLACE (layout.define):\n- Script calls layout.define() exactly once to declare the complete layout structure\n- Replaces the entire layout atomically\n- Same behavior as before\n\nMODE 2 — EDIT VERBS (per-widget):\n- Script calls one or more edit methods: layout.updateWidget(), layout.addWidget(), layout.removeWidget(), layout.moveWidget(), layout.addRow(), layout.compact()\n- Each call collects an operation; all operations commit atomically or fail together\n- Cannot mix layout.define() with edit verbs in the same script\n\nEDIT VERBS:\n layout.updateWidget(\"widgetId\", { \"cf.cplace.x\": newValue }) — partial config merge (only specified keys change)\n layout.addWidget({ widgetType: \"cf.platform.wiki\", position: { rowIndex: 0, columnIndex: 0, widgetIndex: 0 }, configuration: { ... } })\n layout.removeWidget(\"widgetId\")\n layout.moveWidget(\"widgetId\", { rowIndex: 1, columnIndex: 0, widgetIndex: 0 })\n layout.addRow(rowIndex, [6, 6]) — column proportions must sum to 12\n layout.compact() — remove empty rows\n\nWORKFLOW for per-widget edit:\n1. Read: cplace_get_layout_script with widgetIds to get layout.updateWidget() fragments\n2. Edit: modify the config values in the fragment\n3. Execute: post the modified script via this tool\n\nKEY BEHAVIORS (for layout.define mode):\n- The script must call layout.define() exactly once\n- The entire layout is atomically replaced — previous layout is fully overwritten\n- Script timeout: 30 seconds\n- Widget IDs: MUST be omitted from layout.define. Ids are assigned by the server and returned in the response. Use the returned id in subsequent layout.updateWidget() calls.\n\nRESPONSE OUTCOMES:\n- VALID_COMPLETE: Layout saved, all widgets fully configured\n- VALID_INCOMPLETE: Layout saved, but some widgets have missing optional configuration (warnings returned)\n- Validation errors: Layout NOT saved — structural or widget errors returned with details\n- Generic errors: Entity not found, permission denied, script errors\n\nVALIDATION FEEDBACK:\n- Structural errors: invalid column proportions (must be 3-12 each, sum to 12 per row)\n- Widget errors: unknown widget types, invalid configurations\n- Warnings: widgets saved but missing optional configuration (e.g., search filter not set)\n\nTIP: After a VALID_INCOMPLETE response, re-run layout.define() with corrected widget configuration to resolve warnings.\n\nCOMMON WIDGET TYPES (platform, always available):\ncf.platform.attributes, cf.cplace.platform.attributesGroup,\ncf.platform.wiki, cf.platform.richString, cf.cplace.demoWidgets.demoRichString,\ncf.platform.embeddedSearchAsTable, cf.cplace.platform.tableWidget,\ncf.platform.connectedBarChart, cf.platform.connectedPieChart,\ncf.platform.connectedMatrix, cf.platform.connectedTableFilter,\ncf.platform.incomingReferences, cf.platform.comments, cf.platform.files,\ncf.cplace.visualizations.scriptingHighcharts\n\nFor app-dependent widgets not in this list, call cplace_list_widget_definitions with embeddingContext \"AS_WIDGET\".\n\nRICHSTRING WIDGETS AND EMBEDDED WIDGETS (decoded form):\nRichString widgets (cf.platform.richString, cf.cplace.demoWidgets.demoRichString)\nhold HTML in their 'content' config. Embedded widgets inside that HTML are\nexpressed in decoded form:\n <decoded-widget id=\"id_w1\" type=\"cf.platform.singleAttribute\">{\"properties\":{\"attribute\":\"name\"}}</decoded-widget>\n\nSemantics when submitting a script:\n • Tag with an existing id + same type → update (properties replace current)\n • Tag without id → insert new embedded widget (backend assigns id)\n • Existing id omitted from new content → delete\n • Unknown id, duplicate id, or type change for same id → error\n\nRaw base64 <embeddedwidget>BASE64</embeddedwidget> tags are REJECTED on writes.\nFetch current decoded form via cplace_get_layout_script.\n\nIMPORTANT: Decoded <decoded-widget> tags must appear directly inline in a content: value.\nDo NOT build the tag in a variable and pass it — the parser rejects tags outside content: literals.\n ✅ layout.updateWidget(\"id\", { content: '<decoded-widget type=\"...\">...</decoded-widget>' });\n ❌ var tag = '<decoded-widget ...>...</decoded-widget>'; layout.updateWidget(\"id\", { content: tag });\n\nEMBEDDED WIDGET SCRIPT ATTRIBUTES — PLACEHOLDER WORKFLOW (REQUIRED):\nFor script-typed attributes on embedded widgets (e.g. cf.cplace.lowCodeWidgets.lowCodeTextWidget.script),\ninitialize the value to a minimal placeholder body inside the inline <decoded-widget> JSON, then fill the\nreal script body afterward via cplace_richstring_set_widget_script (full replace) or\ncplace_richstring_edit_widget_script (str-replace diff). Authoring a non-trivial script body inline\nforces it through four nested encoding layers (HTML → JSON → JS string literal → MCP wire) and is a\ndocumented source of escape-bug churn — the dedicated tools take the script as a plain string in a\nstructured argument and avoid all four layers.\n\nSafe placeholder for cf.cplace.lowCodeWidgets.lowCodeText: return '';\nOther script-bearing widget types: pick any runtime-valid placeholder for that widget.\n\nNon-script attributes (strings, numbers, references, lists) do NOT have this problem and are authored\ninline as normal JSON properties on the <decoded-widget> tag.\n\nFor atomic single-embedded-widget edits without rewriting the full script,\nsee cplace_layout_richstring_* and cplace_richstring_*_widget_script tools.";
40
+ readonly description: "Execute a layout script — either a full layout.define() replacement or per-widget edit verbs.\n\nTWO MODES (determined by script content):\n\nMODE 1 — FULL REPLACE (layout.define):\n- Script calls layout.define() exactly once to declare the complete layout structure\n- Replaces the entire layout atomically\n- Same behavior as before\n\nMODE 2 — EDIT VERBS (per-widget):\n- Script calls one or more edit methods: layout.updateWidget(), layout.addWidget(), layout.removeWidget(), layout.moveWidget(), layout.addRow(), layout.compact()\n- Each call collects an operation; all operations commit atomically or fail together\n- Cannot mix layout.define() with edit verbs in the same script\n\nEDIT VERBS:\n layout.updateWidget(\"widgetId\", { \"cf.cplace.x\": newValue }) — partial config merge (only specified keys change)\n layout.addWidget({ widgetType: \"cf.platform.wiki\", position: { rowIndex: 0, columnIndex: 0, widgetIndex: 0 }, configuration: { ... } })\n layout.removeWidget(\"widgetId\")\n layout.moveWidget(\"widgetId\", { rowIndex: 1, columnIndex: 0, widgetIndex: 0 })\n layout.addRow(rowIndex, [6, 6]) — column proportions must sum to 12\n layout.compact() — remove empty rows\n\nWORKFLOW for per-widget edit:\n1. Read: cplace_get_layout_script with widgetIds to get layout.updateWidget() fragments\n2. Edit: modify the config values in the fragment\n3. Execute: post the modified script via this tool\n\nKEY BEHAVIORS (for layout.define mode):\n- The script must call layout.define() exactly once\n- The entire layout is atomically replaced — previous layout is fully overwritten\n- Script timeout: 30 seconds\n- Widget IDs: MUST be omitted from layout.define. Ids are assigned by the server and returned in the response. Use the returned id in subsequent layout.updateWidget() calls.\n- ID PRESERVATION: edit verbs (updateWidget/addWidget/removeWidget/moveWidget/addRow/compact) look widgets up by id and mutate in place — they PRESERVE the IDs of every widget you don't touch. This is the only safe path for cross-referenced widgets (e.g. a Low-Code Button's tableWidgetId). By contrast, layout.define — and cplace_edit_layout, which round-trips through layout.define — REGENERATES every widget id.\n\nRESPONSE OUTCOMES:\n- VALID_COMPLETE: Layout saved, all widgets fully configured\n- VALID_INCOMPLETE: Layout saved, but some widgets have missing optional configuration (warnings returned)\n- Validation errors: Layout NOT saved — structural or widget errors returned with details\n- Generic errors: Entity not found, permission denied, script errors\n\nVALIDATION FEEDBACK:\n- Structural errors: invalid column proportions (must be 3-12 each, sum to 12 per row)\n- Widget errors: unknown widget types, invalid configurations\n- Warnings: widgets saved but missing optional configuration (e.g., search filter not set)\n\nTIP: After a VALID_INCOMPLETE response, re-run layout.define() with corrected widget configuration to resolve warnings.\n\nCOMMON WIDGET TYPES (platform, always available):\ncf.platform.attributes, cf.cplace.platform.attributesGroup,\ncf.platform.wiki, cf.platform.richString, cf.cplace.demoWidgets.demoRichString,\ncf.platform.embeddedSearchAsTable, cf.cplace.platform.tableWidget,\ncf.platform.connectedBarChart, cf.platform.connectedPieChart,\ncf.platform.connectedMatrix, cf.platform.connectedTableFilter,\ncf.platform.incomingReferences, cf.platform.comments, cf.platform.files,\ncf.cplace.visualizations.scriptingHighcharts\n\nFor app-dependent widgets not in this list, call cplace_list_widget_definitions with embeddingContext \"AS_WIDGET\".\n\nRICHSTRING WIDGETS AND EMBEDDED WIDGETS (decoded form):\nRichString widgets (cf.platform.richString, cf.cplace.demoWidgets.demoRichString)\nhold HTML in their 'content' config. Embedded widgets inside that HTML are\nexpressed in decoded form:\n <decoded-widget id=\"id_w1\" type=\"cf.platform.singleAttribute\">{\"properties\":{\"attribute\":\"name\"}}</decoded-widget>\n\nSemantics when submitting a script:\n • Tag with an existing id + same type → update (properties replace current)\n • Tag without id → insert new embedded widget (backend assigns id)\n • Existing id omitted from new content → delete\n • Unknown id, duplicate id, or type change for same id → error\n\nRaw base64 <embeddedwidget>BASE64</embeddedwidget> tags are REJECTED on writes.\nFetch current decoded form via cplace_get_layout_script.\n\nIMPORTANT: Decoded <decoded-widget> tags must appear directly inline in a content: value.\nDo NOT build the tag in a variable and pass it — the parser rejects tags outside content: literals.\n ✅ layout.updateWidget(\"id\", { content: '<decoded-widget type=\"...\">...</decoded-widget>' });\n ❌ var tag = '<decoded-widget ...>...</decoded-widget>'; layout.updateWidget(\"id\", { content: tag });\n\nEMBEDDED WIDGET SCRIPT ATTRIBUTES — PLACEHOLDER WORKFLOW (REQUIRED):\nFor script-typed attributes on embedded widgets (e.g. cf.cplace.lowCodeWidgets.lowCodeTextWidget.script),\ninitialize the value to a minimal placeholder body inside the inline <decoded-widget> JSON, then fill the\nreal script body afterward via cplace_richstring_set_widget_script (full replace) or\ncplace_richstring_edit_widget_script (str-replace diff). Authoring a non-trivial script body inline\nforces it through four nested encoding layers (HTML → JSON → JS string literal → MCP wire) and is a\ndocumented source of escape-bug churn — the dedicated tools take the script as a plain string in a\nstructured argument and avoid all four layers.\n\nSafe placeholder for cf.cplace.lowCodeWidgets.lowCodeText: return '';\nOther script-bearing widget types: pick any runtime-valid placeholder for that widget.\n\nNon-script attributes (strings, numbers, references, lists) do NOT have this problem and are authored\ninline as normal JSON properties on the <decoded-widget> tag.\n\nFor atomic single-embedded-widget edits without rewriting the full script,\nsee cplace_layout_richstring_* and cplace_richstring_*_widget_script tools.";
41
41
  readonly inputSchema: {
42
42
  readonly context: z.ZodEffects<z.ZodUnion<[z.ZodObject<{
43
43
  type: z.ZodLiteral<"page">;
@@ -204,7 +204,7 @@ export declare const LAYOUT_TOOL_DEFINITIONS: {
204
204
  };
205
205
  };
206
206
  readonly cplace_edit_layout: {
207
- readonly description: "Edit a layout using str_replace — find an exact text match and replace it. Reads the current layout.define() definition, applies the replacement, and writes back. Use this instead of cplace_execute_layout_script when making small changes to large layouts to avoid reproducing the entire definition.\n\nRichString widget content is in decoded form. `old_str` must match the decoded form exactly as returned by cplace_get_layout_script. Raw base64 <embeddedwidget> tags are rejected in both `old_str` and `new_str`.\n\nIMPORTANT: cplace normalizes HTML/CSS on every save (CSS properties are alphabetized, hex colors become rgb(), whitespace is regularized). After this tool completes, the stored content may differ from what was submitted. The response includes the current stored form — use it (not your original input) when constructing the next old_str.";
207
+ readonly description: string;
208
208
  readonly inputSchema: {
209
209
  readonly context: z.ZodEffects<z.ZodUnion<[z.ZodObject<{
210
210
  type: z.ZodLiteral<"page">;
@@ -1 +1 @@
1
- {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/tools/layout.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;AAe5C,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAe/B,CAAC;AAGF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAUhE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgR1B,CAAC;AAYX,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,QA8e7E"}
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/tools/layout.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;AAe5C,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAe/B,CAAC;AAGF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAUhE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuR1B,CAAC;AAYX,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,QAgf7E"}
@@ -57,6 +57,7 @@ KEY BEHAVIORS (for layout.define mode):
57
57
  - The entire layout is atomically replaced — previous layout is fully overwritten
58
58
  - Script timeout: 30 seconds
59
59
  - Widget IDs: MUST be omitted from layout.define. Ids are assigned by the server and returned in the response. Use the returned id in subsequent layout.updateWidget() calls.
60
+ - ID PRESERVATION: edit verbs (updateWidget/addWidget/removeWidget/moveWidget/addRow/compact) look widgets up by id and mutate in place — they PRESERVE the IDs of every widget you don't touch. This is the only safe path for cross-referenced widgets (e.g. a Low-Code Button's tableWidgetId). By contrast, layout.define — and cplace_edit_layout, which round-trips through layout.define — REGENERATES every widget id.
60
61
 
61
62
  RESPONSE OUTCOMES:
62
63
  - VALID_COMPLETE: Layout saved, all widgets fully configured
@@ -269,7 +270,13 @@ The output is directly executable — base64 tags are never emitted.`,
269
270
  annotations: { title: 'Get Layout Script' },
270
271
  },
271
272
  [TOOL_EDIT_LAYOUT]: {
272
- description: 'Edit a layout using str_replace — find an exact text match and replace it. Reads the current layout.define() definition, applies the replacement, and writes back. Use this instead of cplace_execute_layout_script when making small changes to large layouts to avoid reproducing the entire definition.\n\nRichString widget content is in decoded form. `old_str` must match the decoded form exactly as returned by cplace_get_layout_script. Raw base64 <embeddedwidget> tags are rejected in both `old_str` and `new_str`.\n\nIMPORTANT: cplace normalizes HTML/CSS on every save (CSS properties are alphabetized, hex colors become rgb(), whitespace is regularized). After this tool completes, the stored content may differ from what was submitted. The response includes the current stored form — use it (not your original input) when constructing the next old_str.',
273
+ description: 'Edit a layout using str_replace — find an exact text match and replace it. Reads the current layout.define() definition, applies the replacement, and writes the whole script back.\n\n' +
274
+ '⚠️ REGENERATES ALL WIDGET IDs: this tool round-trips the layout through layout.define, so EVERY widget ID in the layout (page and type layouts alike) is replaced with a fresh ID on every call. Any stored cross-widget reference — a Low-Code Button\'s tableWidgetId, master/detail connections — silently breaks: the write succeeds and no error is raised. This is a TEXT edit with a TOTAL-ID side effect; it is not a "surgical" change. Prefer it only for large layouts with no cross-widget references.\n\n' +
275
+ 'For widgets referenced by other widgets, do NOT use this tool. Instead use cplace_execute_layout_script with an edit verb, which preserves the IDs of untouched widgets:\n' +
276
+ ' ✅ cplace_execute_layout_script → layout.updateWidget("widgetId", { "configKey": newValue })\n' +
277
+ ' ❌ cplace_edit_layout({ old_str, new_str }) // regenerates every id\n\n' +
278
+ 'RichString widget content is in decoded form. `old_str` must match the decoded form exactly as returned by cplace_get_layout_script. Raw base64 <embeddedwidget> tags are rejected in both `old_str` and `new_str`.\n\n' +
279
+ 'IMPORTANT: cplace normalizes HTML/CSS on every save (CSS properties are alphabetized, hex colors become rgb(), whitespace is regularized). After this tool completes, the stored content may differ from what was submitted. The response includes the current stored form — use it (not your original input) when constructing the next old_str.',
273
280
  inputSchema: {
274
281
  context: LayoutContextSchema,
275
282
  old_str: z
@@ -623,6 +630,7 @@ export function registerLayoutTools(server, client) {
623
630
  status: writeResponse.status,
624
631
  replacementCount: result.replacementCount,
625
632
  context,
633
+ idsRegeneratedNote: "All widget IDs in this layout were regenerated by this edit (cplace_edit_layout round-trips through layout.define). Any stored cross-widget references (e.g. a Low-Code Button's tableWidgetId) now point at the previous IDs and are broken — use the widgetIdSummary below for the current IDs. To edit a cross-referenced widget without regenerating IDs, use cplace_execute_layout_script with layout.updateWidget instead.",
626
634
  ...(writeResponse.validationWarnings && {
627
635
  validationWarnings: writeResponse.validationWarnings,
628
636
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/tools/layout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/tools/layout.ts"],"names":[],"mappings":"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"}
@@ -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.7",
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",