@cplace/test-mcp-server 1.1.6 → 1.2.0
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/conditional-registration.d.ts.map +1 -1
- package/dist/conditional-registration.js +3 -1
- package/dist/conditional-registration.js.map +1 -1
- package/dist/profiles.js +1 -1
- package/dist/profiles.js.map +1 -1
- package/dist/searchConversion.d.ts.map +1 -1
- package/dist/searchConversion.js +98 -0
- package/dist/searchConversion.js.map +1 -1
- package/dist/searchSchema.d.ts +1320 -0
- package/dist/searchSchema.d.ts.map +1 -1
- package/dist/searchSchema.js +86 -0
- package/dist/searchSchema.js.map +1 -1
- package/dist/tools/csv-export.d.ts +1320 -0
- package/dist/tools/csv-export.d.ts.map +1 -1
- package/dist/tools/generic-layouts.d.ts +68 -0
- package/dist/tools/generic-layouts.d.ts.map +1 -1
- package/dist/tools/generic-layouts.js +273 -0
- package/dist/tools/generic-layouts.js.map +1 -1
- package/dist/tools/search.d.ts +1322 -0
- package/dist/tools/search.d.ts.map +1 -1
- package/dist/tools/search.js +48 -2
- package/dist/tools/search.js.map +1 -1
- package/dist/tools/url-resolution.d.ts +16 -0
- package/dist/tools/url-resolution.d.ts.map +1 -0
- package/dist/tools/url-resolution.js +35 -0
- package/dist/tools/url-resolution.js.map +1 -0
- package/dist/widget-specifications/cf.platform.embeddedSearchAsTable/search.md +13 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAgB,MAAM,WAAW,CAAC;AAa1D,eAAO,MAAM,uBAAuB
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAgB,MAAM,WAAW,CAAC;AAa1D,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmJ1B,CAAC;AAEX,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,QA2O7E"}
|
package/dist/tools/search.js
CHANGED
|
@@ -66,6 +66,41 @@ Boolean filter:
|
|
|
66
66
|
Empty/not empty checks:
|
|
67
67
|
[{"attribute": "cf.cplace.description", "string": {"is_not_empty": true}}]
|
|
68
68
|
|
|
69
|
+
Relative filter - Find tasks assigned to current user:
|
|
70
|
+
[{"relativeReference": {"attribute": "cf.cplace.project.task.responsible", "operator": "sessionUser"}}]
|
|
71
|
+
|
|
72
|
+
Relative filter - Find items due within next 7 days:
|
|
73
|
+
[{"relativeDate": {"attribute": "dueDate", "operator": "lessEquals", "offset": 7}}]
|
|
74
|
+
|
|
75
|
+
Relative filter - Find pages in same workspace as embedding entity:
|
|
76
|
+
[{"relativeSpace": {}}]
|
|
77
|
+
(Requires embeddingEntityUid parameter)
|
|
78
|
+
|
|
79
|
+
Relative filter - Find items modified since last login:
|
|
80
|
+
[{"relativeDate": {"attribute": "cf.cplace.modificationDate", "operator": "greaterEquals", "relativeToAttribute": "_lastLogin"}}]
|
|
81
|
+
|
|
82
|
+
Relative filter - Combine with static filters:
|
|
83
|
+
[
|
|
84
|
+
{"relativeReference": {"attribute": "assignee", "operator": "sessionUser"}},
|
|
85
|
+
{"attribute": "cf.cplace.workflow", "string": {"equals": "inProgress"}}
|
|
86
|
+
]
|
|
87
|
+
|
|
88
|
+
RELATIVE FILTER CONTEXT REQUIREMENTS:
|
|
89
|
+
Some relative filters require context parameters:
|
|
90
|
+
- relativeSpace: Requires embeddingEntityUid
|
|
91
|
+
- relativeReference with embeddingCustomEntity, parentOfEmbeddingPage, ba_*, ca_*: Requires embeddingEntityUid
|
|
92
|
+
- relativeReference with connectedTable, ctca_*: Requires connectedTableSelectionUid
|
|
93
|
+
- relativeString, relativeNumber, relativeBoolean: Require embeddingEntityUid
|
|
94
|
+
- relativeUid with connectedTable: Requires connectedTableSelectionUid
|
|
95
|
+
|
|
96
|
+
Available relative filter types:
|
|
97
|
+
- relativeReference: Dynamic reference filtering (sessionUser, embeddingCustomEntity, etc.)
|
|
98
|
+
- relativeDate: Date filtering relative to today or last login
|
|
99
|
+
- relativeString/relativeNumber/relativeBoolean: Copy values from embedding entity
|
|
100
|
+
- relativeSpace: Filter to embedding entity's workspace
|
|
101
|
+
- relativeUid: Filter by UID using dynamic reference
|
|
102
|
+
- relativeBuiltinReference: Filter built-in reference attributes dynamically
|
|
103
|
+
|
|
69
104
|
DATE FILTER FORMAT REQUIREMENTS:
|
|
70
105
|
${DATE_FILTER_FORMAT_DESCRIPTION}
|
|
71
106
|
|
|
@@ -87,6 +122,15 @@ Examples (date-only format required):
|
|
|
87
122
|
- "minimal": Only core fields (id, name, url, type, workspace)
|
|
88
123
|
- "count": Only return the total count of matching pages`),
|
|
89
124
|
attributes: z.array(z.string()).optional().describe("Specific attribute names to include in response. If not provided, all attributes are included. Examples: ['cf.cplace.workflow', 'cf.cplace.priority']"),
|
|
125
|
+
embeddingEntityUid: z.string().optional().describe(`UID of the embedding entity for relative filters. Required for filters using:
|
|
126
|
+
- relativeSpace (filters to same workspace as embedding entity)
|
|
127
|
+
- relativeReference with operator: embeddingCustomEntity, parentOfEmbeddingPage, ba_*, ca_*
|
|
128
|
+
- relativeString, relativeNumber, relativeBoolean (source from embedding entity)
|
|
129
|
+
Example: "page/abc123def456"`),
|
|
130
|
+
connectedTableSelectionUid: z.string().optional().describe(`UID of the selected entity in a connected table. Required for filters using:
|
|
131
|
+
- relativeReference with operator: connectedTable, ctca_*
|
|
132
|
+
- relativeUid with operator: connectedTable
|
|
133
|
+
Example: "page/xyz789"`),
|
|
90
134
|
},
|
|
91
135
|
annotations: { title: "Search Pages" }
|
|
92
136
|
},
|
|
@@ -112,7 +156,7 @@ Examples (date-only format required):
|
|
|
112
156
|
}
|
|
113
157
|
};
|
|
114
158
|
export function registerSearchTools(server, client) {
|
|
115
|
-
server.registerTool(TOOL_SEARCH_PAGES, SEARCH_TOOL_DEFINITIONS[TOOL_SEARCH_PAGES], async ({ workspaceId, internalTypeName, search_filter, limit = 50, offset = 0, responseFormat, attributes, }) => {
|
|
159
|
+
server.registerTool(TOOL_SEARCH_PAGES, SEARCH_TOOL_DEFINITIONS[TOOL_SEARCH_PAGES], async ({ workspaceId, internalTypeName, search_filter, limit = 50, offset = 0, responseFormat, attributes, embeddingEntityUid, connectedTableSelectionUid, }) => {
|
|
116
160
|
debugLogWithTag('SEARCH', `Starting search with params: workspaceId=${workspaceId || 'none'}, type=${internalTypeName}, filter=${JSON.stringify(search_filter)}, limit=${limit}, offset=${offset}`);
|
|
117
161
|
try {
|
|
118
162
|
const cplaceFilter = convertSearchFilterToCplaceFormat(search_filter);
|
|
@@ -133,7 +177,9 @@ export function registerSearchTools(server, client) {
|
|
|
133
177
|
const result = await client.makeApiRequest('json/search', 'GET', {
|
|
134
178
|
filter: JSON.stringify(cplaceFilter),
|
|
135
179
|
limit,
|
|
136
|
-
offset
|
|
180
|
+
offset,
|
|
181
|
+
...(embeddingEntityUid && { embeddingEntityUid }),
|
|
182
|
+
...(connectedTableSelectionUid && { connectedTableSelectionUid }),
|
|
137
183
|
});
|
|
138
184
|
if (responseFormat === "count") {
|
|
139
185
|
const countResult = {
|
package/dist/tools/search.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,kBAAkB,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,iCAAiC,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAC;AAGrE,MAAM,iBAAiB,GAAG,qBAAqB,CAAC;AAChD,MAAM,0BAA0B,GAAG,8BAA8B,CAAC;AAClE,MAAM,uBAAuB,GAAG,2BAA2B,CAAC;AAG5D,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,CAAC,iBAAiB,CAAC,EAAE;QACnB,WAAW,EAAE,wNAAwN;QACrO,WAAW,EAAE;YACX,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mGAAmG,CAAC;YAChJ,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC;;;;;;8EAMkC,CAAC;YACzE,aAAa,EAAE,kBAAkB,CAAC,QAAQ,CAAC
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { CplaceApiClient } from '../api.js';
|
|
4
|
+
export declare const URL_RESOLUTION_TOOL_DEFINITIONS: {
|
|
5
|
+
readonly cplace_resolve_url: {
|
|
6
|
+
readonly description: "Resolve a cplace URL to identify the referenced entity. Returns entity UID, type, name, and URL. For pages, also returns type definition and workspace context. For persons, includes login and email. Useful for identifying what entity a user-provided URL points to.";
|
|
7
|
+
readonly inputSchema: {
|
|
8
|
+
readonly url: z.ZodString;
|
|
9
|
+
};
|
|
10
|
+
readonly annotations: {
|
|
11
|
+
readonly title: "Resolve URL";
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
export declare function registerUrlResolutionTools(server: McpServer, client: CplaceApiClient): void;
|
|
16
|
+
//# sourceMappingURL=url-resolution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"url-resolution.d.ts","sourceRoot":"","sources":["../../src/tools/url-resolution.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,+BAA+B;;;;;;;;;;CAQlC,CAAC;AAEX,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,QA0BpF"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { debugLogWithTag } from "../logger.js";
|
|
3
|
+
const TOOL_RESOLVE_URL = 'cplace_resolve_url';
|
|
4
|
+
export const URL_RESOLUTION_TOOL_DEFINITIONS = {
|
|
5
|
+
[TOOL_RESOLVE_URL]: {
|
|
6
|
+
description: "Resolve a cplace URL to identify the referenced entity. Returns entity UID, type, name, and URL. For pages, also returns type definition and workspace context. For persons, includes login and email. Useful for identifying what entity a user-provided URL points to.",
|
|
7
|
+
inputSchema: {
|
|
8
|
+
url: z.string().describe("The cplace URL to resolve. Supports: absolute URLs (https://tenant.cplace.io/cplace/pages/abc123/My-Page), relative URLs (/pages/abc123/My-Page), or handler-based URLs (/space/details?id=workspace123)")
|
|
9
|
+
},
|
|
10
|
+
annotations: { title: "Resolve URL" }
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
export function registerUrlResolutionTools(server, client) {
|
|
14
|
+
server.registerTool(TOOL_RESOLVE_URL, URL_RESOLUTION_TOOL_DEFINITIONS[TOOL_RESOLVE_URL], async ({ url }) => {
|
|
15
|
+
debugLogWithTag('RESOLVE_URL', `Resolving URL: ${url}`);
|
|
16
|
+
try {
|
|
17
|
+
const result = await client.makeApiRequest('json/resolve-url', 'GET', { url });
|
|
18
|
+
debugLogWithTag('RESOLVE_URL', `Successfully resolved URL to ${result.entityType}: ${result.uid}`);
|
|
19
|
+
return {
|
|
20
|
+
content: [{ type: "text", text: JSON.stringify(result, null, 2) }]
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
debugLogWithTag('RESOLVE_URL', `Error: ${error instanceof Error ? error.message : String(error)}`);
|
|
25
|
+
return {
|
|
26
|
+
content: [{
|
|
27
|
+
type: "text",
|
|
28
|
+
text: `Error resolving URL: ${error instanceof Error ? error.message : String(error)}`
|
|
29
|
+
}],
|
|
30
|
+
isError: true
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=url-resolution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"url-resolution.js","sourceRoot":"","sources":["../../src/tools/url-resolution.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAG/C,MAAM,gBAAgB,GAAG,oBAAoB,CAAC;AAG9C,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,CAAC,gBAAgB,CAAC,EAAE;QAClB,WAAW,EAAE,0QAA0Q;QACvR,WAAW,EAAE;YACX,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0MAA0M,CAAC;SACrO;QACD,WAAW,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE;KACtC;CACO,CAAC;AAEX,MAAM,UAAU,0BAA0B,CAAC,MAAiB,EAAE,MAAuB;IACnF,MAAM,CAAC,YAAY,CAAC,gBAAgB,EAClC,+BAA+B,CAAC,gBAAgB,CAAC,EACjD,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;QAChB,eAAe,CAAC,aAAa,EAAE,kBAAkB,GAAG,EAAE,CAAC,CAAC;QAExD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,kBAAkB,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;YAE/E,eAAe,CAAC,aAAa,EAAE,gCAAgC,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;YAEnG,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aACnE,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAe,CAAC,aAAa,EAAE,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACnG,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,wBAAwB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;qBACvF,CAAC;gBACF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -6,3 +6,16 @@
|
|
|
6
6
|
1. Call cplace_search_pages with your desired filter
|
|
7
7
|
2. Take the cplaceJson field from the response
|
|
8
8
|
3. Use that value for the search configuration
|
|
9
|
+
|
|
10
|
+
**Relative Filters** (e.g., "show items referencing current page"):
|
|
11
|
+
|
|
12
|
+
When using `relativeReference` filters, you MUST provide a real page UID as context:
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
cplace_search_pages(
|
|
16
|
+
search_filter: [{"relativeReference": {"attribute": "myType.refAttr", "operator": "embeddingCustomEntity"}}],
|
|
17
|
+
embeddingEntityUid: "page/abc123" // ← Real page UID required!
|
|
18
|
+
)
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Without a concrete `embeddingEntityUid`, the relative filter won't be included in the returned `cplaceJson`.
|
package/package.json
CHANGED