outline-mcp-server 4.8.3 → 4.10.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/README.md +20 -4
- package/build/index.js +15 -21
- package/build/index.js.map +1 -1
- package/build/tools/archiveDocument.js +14 -14
- package/build/tools/archiveDocument.js.map +1 -1
- package/build/tools/createCollection.js +23 -22
- package/build/tools/createCollection.js.map +1 -1
- package/build/tools/createComment.js +21 -20
- package/build/tools/createComment.js.map +1 -1
- package/build/tools/createDocument.js +22 -21
- package/build/tools/createDocument.js.map +1 -1
- package/build/tools/deleteComment.js +13 -13
- package/build/tools/deleteComment.js.map +1 -1
- package/build/tools/deleteDocument.js +13 -12
- package/build/tools/deleteDocument.js.map +1 -1
- package/build/tools/getCollection.js +10 -9
- package/build/tools/getCollection.js.map +1 -1
- package/build/tools/getDocument.js +10 -9
- package/build/tools/getDocument.js.map +1 -1
- package/build/tools/listCollections.js +13 -12
- package/build/tools/listCollections.js.map +1 -1
- package/build/tools/listDocuments.js +41 -31
- package/build/tools/listDocuments.js.map +1 -1
- package/build/tools/listUsers.js +42 -41
- package/build/tools/listUsers.js.map +1 -1
- package/build/tools/moveDocument.js +21 -20
- package/build/tools/moveDocument.js.map +1 -1
- package/build/tools/searchDocuments.js +22 -14
- package/build/tools/searchDocuments.js.map +1 -1
- package/build/tools/updateCollection.js +27 -26
- package/build/tools/updateCollection.js.map +1 -1
- package/build/tools/updateComment.js +18 -17
- package/build/tools/updateComment.js.map +1 -1
- package/build/tools/updateDocument.js +23 -22
- package/build/tools/updateDocument.js.map +1 -1
- package/build/utils/importTools.d.ts +1 -1
- package/build/utils/importTools.d.ts.map +1 -1
- package/build/utils/importTools.js +2 -2
- package/build/utils/importTools.js.map +1 -1
- package/build/utils/listTools.d.ts +5 -5
- package/build/utils/listTools.d.ts.map +1 -1
- package/build/utils/listTools.js +4 -14
- package/build/utils/listTools.js.map +1 -1
- package/package.json +8 -5
package/README.md
CHANGED
@@ -94,13 +94,29 @@ OUTLINE_BASE_URL=https://your-outline-instance.com/api # Optional, defaults to
|
|
94
94
|
```
|
95
95
|
|
96
96
|
```bash
|
97
|
-
#
|
98
|
-
npm run
|
97
|
+
# Builds/watches the project alongside running @modelcontextprotocol/inspector
|
98
|
+
npm run dev
|
99
99
|
|
100
|
-
# Run the project as an stdio process
|
101
|
-
npm run start:stdio
|
102
100
|
```
|
103
101
|
|
102
|
+
## Contributing
|
103
|
+
|
104
|
+
This project uses [semantic-release](https://semantic-release.gitbook.io/semantic-release/) for automated versioning and package publishing. Please follow the [Conventional Commits](https://www.conventionalcommits.org/) specification for your commit messages to ensure proper versioning.
|
105
|
+
|
106
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines on how to contribute to this project.
|
107
|
+
|
108
|
+
## Release Process
|
109
|
+
|
110
|
+
Releases are fully automated using semantic-release and GitHub Actions. When commits are pushed to the `master` branch, the following happens:
|
111
|
+
|
112
|
+
1. The CI pipeline runs tests and builds the package
|
113
|
+
2. semantic-release analyzes commit messages to determine the next version number
|
114
|
+
3. A new version is automatically published to npm
|
115
|
+
4. A GitHub release is created with auto-generated release notes
|
116
|
+
5. The CHANGELOG.md file is updated
|
117
|
+
|
118
|
+
No manual version bumping or release creation is needed.
|
119
|
+
|
104
120
|
## License
|
105
121
|
|
106
122
|
MIT
|
package/build/index.js
CHANGED
@@ -3,47 +3,41 @@ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
3
3
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
4
4
|
import { CallToolRequestSchema, ErrorCode, ListToolsRequestSchema, McpError, } from '@modelcontextprotocol/sdk/types.js';
|
5
5
|
// Import tool definitions utility
|
6
|
-
import { getToolDefinitions
|
6
|
+
import { getToolDefinitions } from './utils/listTools.js';
|
7
7
|
import { registerTools } from './utils/importTools.js';
|
8
8
|
// Dynamically import all tool files
|
9
|
-
registerTools();
|
10
|
-
|
11
|
-
|
12
|
-
getToolDefinitions().forEach(tool => {
|
13
|
-
toolsCapabilities[tool.name] = true;
|
14
|
-
});
|
15
|
-
// Get the tool handlers
|
16
|
-
const toolHandlers = getToolHandlers();
|
9
|
+
await registerTools();
|
10
|
+
const toolDefinitions = getToolDefinitions();
|
11
|
+
console.log('\n', `loaded ${Object.keys(toolDefinitions).length} tools`, JSON.stringify(Object.keys(toolDefinitions)), '\n');
|
17
12
|
const server = new Server({
|
18
13
|
name: 'outline-mcp',
|
19
14
|
version: '1.0.0',
|
20
15
|
}, {
|
21
16
|
capabilities: {
|
22
|
-
tools:
|
17
|
+
tools: Object.entries(toolDefinitions).reduce((acc, [name, definition]) => {
|
18
|
+
acc[name] = true;
|
19
|
+
return acc;
|
20
|
+
}, {}),
|
23
21
|
},
|
24
22
|
});
|
25
23
|
// Register request handlers
|
26
24
|
server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
27
|
-
tools:
|
25
|
+
tools: Object.keys(toolDefinitions),
|
28
26
|
}));
|
29
27
|
server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
30
28
|
const { params } = request;
|
31
|
-
const
|
29
|
+
const toolName = params.name;
|
32
30
|
const parameters = params.arguments || {};
|
31
|
+
const toolDefinition = toolDefinitions[toolName];
|
33
32
|
try {
|
34
|
-
// Check if the tool is supported
|
35
|
-
if (!
|
36
|
-
return { error: { code: ErrorCode.InvalidRequest, message: `Tool ${tool} not supported` } };
|
37
|
-
}
|
38
|
-
// Get the handler for this tool
|
39
|
-
const handler = toolHandlers[tool];
|
40
|
-
if (!handler) {
|
33
|
+
// Check if the tool is supported
|
34
|
+
if (!toolDefinition) {
|
41
35
|
return {
|
42
|
-
error: { code: ErrorCode.InvalidRequest, message: `
|
36
|
+
error: { code: ErrorCode.InvalidRequest, message: `Tool ${toolName} not supported` },
|
43
37
|
};
|
44
38
|
}
|
45
39
|
// Call the handler with the provided parameters
|
46
|
-
const result = await handler(parameters);
|
40
|
+
const result = await toolDefinition.handler(parameters);
|
47
41
|
return {
|
48
42
|
content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
|
49
43
|
};
|
package/build/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,SAAS,EACT,sBAAsB,EACtB,QAAQ,GACT,MAAM,oCAAoC,CAAC;AAE5C,kCAAkC;AAClC,OAAO,EAAE,kBAAkB,EAAE,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
@@ -4,28 +4,28 @@ import { registerTool } from '../utils/listTools.js';
|
|
4
4
|
// Register this tool
|
5
5
|
registerTool({
|
6
6
|
name: 'archive_document',
|
7
|
-
description: 'Archive a document
|
7
|
+
description: 'Archive a document',
|
8
8
|
inputSchema: {
|
9
9
|
properties: {
|
10
10
|
id: {
|
11
11
|
type: 'string',
|
12
|
-
description: '
|
12
|
+
description: 'ID of the document to archive',
|
13
13
|
},
|
14
14
|
},
|
15
15
|
required: ['id'],
|
16
16
|
type: 'object',
|
17
17
|
},
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
}
|
18
|
+
handler: async function handleArchiveDocument(args) {
|
19
|
+
try {
|
20
|
+
const response = await outlineClient.post('/documents.archive', {
|
21
|
+
id: args.id,
|
22
|
+
});
|
23
|
+
return response.data.data;
|
24
|
+
}
|
25
|
+
catch (error) {
|
26
|
+
console.error('Error archiving document:', error.message);
|
27
|
+
throw new McpError(ErrorCode.InvalidRequest, error.message);
|
28
|
+
}
|
29
|
+
},
|
30
30
|
});
|
31
31
|
//# sourceMappingURL=archiveDocument.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"archiveDocument.js","sourceRoot":"","sources":["../../src/tools/archiveDocument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,qBAAqB;AACrB,YAAY,
|
1
|
+
{"version":3,"file":"archiveDocument.js","sourceRoot":"","sources":["../../src/tools/archiveDocument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,qBAAqB;AACrB,YAAY,CAAsB;IAChC,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,oBAAoB;IACjC,WAAW,EAAE;QACX,UAAU,EAAE;YACV,EAAE,EAAE;gBACF,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,+BAA+B;aAC7C;SACF;QACD,QAAQ,EAAE,CAAC,IAAI,CAAC;QAChB,IAAI,EAAE,QAAQ;KACf;IACD,OAAO,EAAE,KAAK,UAAU,qBAAqB,CAAC,IAAyB;QACrE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,oBAAoB,EAAE;gBAC9D,EAAE,EAAE,IAAI,CAAC,EAAE;aACZ,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAC1D,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
|
@@ -31,29 +31,30 @@ registerTool({
|
|
31
31
|
required: ['name'],
|
32
32
|
type: 'object',
|
33
33
|
},
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
34
|
+
handler: async function handleCreateCollection(args) {
|
35
|
+
try {
|
36
|
+
const payload = {
|
37
|
+
name: args.name,
|
38
|
+
};
|
39
|
+
if (args.description !== undefined) {
|
40
|
+
payload.description = args.description;
|
41
|
+
}
|
42
|
+
if (args.permission !== undefined) {
|
43
|
+
payload.permission = args.permission;
|
44
|
+
}
|
45
|
+
if (args.color !== undefined) {
|
46
|
+
payload.color = args.color;
|
47
|
+
}
|
48
|
+
if (args.private !== undefined) {
|
49
|
+
payload.private = args.private;
|
50
|
+
}
|
51
|
+
const response = await outlineClient.post('/collections.create', payload);
|
52
|
+
return response.data.data;
|
41
53
|
}
|
42
|
-
|
43
|
-
|
54
|
+
catch (error) {
|
55
|
+
console.error('Error creating collection:', error.message);
|
56
|
+
throw new McpError(ErrorCode.InvalidRequest, error.message);
|
44
57
|
}
|
45
|
-
|
46
|
-
payload.color = args.color;
|
47
|
-
}
|
48
|
-
if (args.private !== undefined) {
|
49
|
-
payload.private = args.private;
|
50
|
-
}
|
51
|
-
const response = await outlineClient.post('/collections.create', payload);
|
52
|
-
return response.data.data;
|
53
|
-
}
|
54
|
-
catch (error) {
|
55
|
-
console.error('Error creating collection:', error.message);
|
56
|
-
throw new McpError(ErrorCode.InvalidRequest, error.message);
|
57
|
-
}
|
58
|
+
},
|
58
59
|
});
|
59
60
|
//# sourceMappingURL=createCollection.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"createCollection.js","sourceRoot":"","sources":["../../src/tools/createCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,qBAAqB;AACrB,YAAY,
|
1
|
+
{"version":3,"file":"createCollection.js","sourceRoot":"","sources":["../../src/tools/createCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,qBAAqB;AACrB,YAAY,CAAuB;IACjC,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,yBAAyB;IACtC,WAAW,EAAE;QACX,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,yBAAyB;aACvC;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,8CAA8C;aAC5D;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,wDAAwD;aACtE;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,mCAAmC;aACjD;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,oCAAoC;aAClD;SACF;QACD,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,QAAQ;KACf;IACD,OAAO,EAAE,KAAK,UAAU,sBAAsB,CAAC,IAA0B;QACvE,IAAI,CAAC;YACH,MAAM,OAAO,GAAwB;gBACnC,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB,CAAC;YAEF,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBACnC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YACzC,CAAC;YAED,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBAClC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACvC,CAAC;YAED,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC7B,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAC7B,CAAC;YAED,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC/B,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YACjC,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;YAC1E,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3D,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
|
@@ -13,38 +13,39 @@ registerTool({
|
|
13
13
|
},
|
14
14
|
text: {
|
15
15
|
type: 'string',
|
16
|
-
description: '
|
16
|
+
description: 'Content of the comment in markdown format',
|
17
17
|
},
|
18
18
|
parentCommentId: {
|
19
19
|
type: 'string',
|
20
|
-
description: 'ID of the parent comment (if replying to
|
20
|
+
description: 'ID of the parent comment (if replying to a comment)',
|
21
21
|
},
|
22
22
|
data: {
|
23
23
|
type: 'object',
|
24
|
-
description: '
|
24
|
+
description: 'Additional data for the comment (optional)',
|
25
25
|
},
|
26
26
|
},
|
27
27
|
required: ['documentId', 'text'],
|
28
28
|
type: 'object',
|
29
29
|
},
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
30
|
+
handler: async function handleCreateComment(args) {
|
31
|
+
try {
|
32
|
+
const payload = {
|
33
|
+
documentId: args.documentId,
|
34
|
+
text: args.text,
|
35
|
+
};
|
36
|
+
if (args.parentCommentId) {
|
37
|
+
payload.parentCommentId = args.parentCommentId;
|
38
|
+
}
|
39
|
+
if (args.data) {
|
40
|
+
payload.data = args.data;
|
41
|
+
}
|
42
|
+
const response = await outlineClient.post('/comments.create', payload);
|
43
|
+
return response.data.data;
|
38
44
|
}
|
39
|
-
|
40
|
-
|
45
|
+
catch (error) {
|
46
|
+
console.error('Error creating comment:', error.message);
|
47
|
+
throw new McpError(ErrorCode.InvalidRequest, error.message);
|
41
48
|
}
|
42
|
-
|
43
|
-
return response.data.data;
|
44
|
-
}
|
45
|
-
catch (error) {
|
46
|
-
console.error('Error creating comment:', error.message);
|
47
|
-
throw new McpError(ErrorCode.InvalidRequest, error.message);
|
48
|
-
}
|
49
|
+
},
|
49
50
|
});
|
50
51
|
//# sourceMappingURL=createComment.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"createComment.js","sourceRoot":"","sources":["../../src/tools/createComment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,qBAAqB;AACrB,YAAY,
|
1
|
+
{"version":3,"file":"createComment.js","sourceRoot":"","sources":["../../src/tools/createComment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,qBAAqB;AACrB,YAAY,CAAoB;IAC9B,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,oCAAoC;IACjD,WAAW,EAAE;QACX,UAAU,EAAE;YACV,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kCAAkC;aAChD;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,2CAA2C;aACzD;YACD,eAAe,EAAE;gBACf,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,qDAAqD;aACnE;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,4CAA4C;aAC1D;SACF;QACD,QAAQ,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC;QAChC,IAAI,EAAE,QAAQ;KACf;IACD,OAAO,EAAE,KAAK,UAAU,mBAAmB,CAAC,IAAuB;QACjE,IAAI,CAAC;YACH,MAAM,OAAO,GAAwB;gBACnC,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB,CAAC;YAEF,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACzB,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;YACjD,CAAC;YAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YAC3B,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;YACvE,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YACxD,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
|
@@ -36,28 +36,29 @@ registerTool({
|
|
36
36
|
required: ['title', 'text', 'collectionId'],
|
37
37
|
type: 'object',
|
38
38
|
},
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
39
|
+
handler: async function handleCreateDocument(args) {
|
40
|
+
try {
|
41
|
+
const payload = {
|
42
|
+
title: args.title,
|
43
|
+
text: args.text,
|
44
|
+
collectionId: args.collectionId,
|
45
|
+
};
|
46
|
+
if (args.parentDocumentId) {
|
47
|
+
payload.parentDocumentId = args.parentDocumentId;
|
48
|
+
}
|
49
|
+
if (args.publish !== undefined) {
|
50
|
+
payload.publish = args.publish ?? true;
|
51
|
+
}
|
52
|
+
if (args.template !== undefined) {
|
53
|
+
payload.template = args.template;
|
54
|
+
}
|
55
|
+
const response = await outlineClient.post('/documents', payload);
|
56
|
+
return response.data.data;
|
48
57
|
}
|
49
|
-
|
50
|
-
|
58
|
+
catch (error) {
|
59
|
+
console.error('Error creating document:', error.message);
|
60
|
+
throw new McpError(ErrorCode.InvalidRequest, error.message);
|
51
61
|
}
|
52
|
-
|
53
|
-
payload.template = args.template;
|
54
|
-
}
|
55
|
-
const response = await outlineClient.post('/documents', payload);
|
56
|
-
return response.data.data;
|
57
|
-
}
|
58
|
-
catch (error) {
|
59
|
-
console.error('Error creating document:', error.message);
|
60
|
-
throw new McpError(ErrorCode.InvalidRequest, error.message);
|
61
|
-
}
|
62
|
+
},
|
62
63
|
});
|
63
64
|
//# sourceMappingURL=createDocument.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"createDocument.js","sourceRoot":"","sources":["../../src/tools/createDocument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,qBAAqB;AACrB,YAAY,
|
1
|
+
{"version":3,"file":"createDocument.js","sourceRoot":"","sources":["../../src/tools/createDocument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,qBAAqB;AACrB,YAAY,CAAqB;IAC/B,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,uBAAuB;IACpC,WAAW,EAAE;QACX,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,uBAAuB;aACrC;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,4CAA4C;aAC1D;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,6CAA6C;aAC3D;YACD,gBAAgB,EAAE;gBAChB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,2DAA2D;aACzE;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,6CAA6C;aAC3D;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,qCAAqC;aACnD;SACF;QACD,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC;QAC3C,IAAI,EAAE,QAAQ;KACf;IACD,OAAO,EAAE,KAAK,UAAU,oBAAoB,CAAC,IAAwB;QACnE,IAAI,CAAC;YACH,MAAM,OAAO,GAAwB;gBACnC,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,YAAY,EAAE,IAAI,CAAC,YAAY;aAChC,CAAC;YAEF,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;YACnD,CAAC;YAED,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC/B,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;YACzC,CAAC;YAED,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAChC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YACnC,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACjE,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YACzD,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
|
@@ -4,7 +4,7 @@ import { registerTool } from '../utils/listTools.js';
|
|
4
4
|
// Register this tool
|
5
5
|
registerTool({
|
6
6
|
name: 'delete_comment',
|
7
|
-
description: 'Delete
|
7
|
+
description: 'Delete a comment from a document',
|
8
8
|
inputSchema: {
|
9
9
|
properties: {
|
10
10
|
id: {
|
@@ -15,17 +15,17 @@ registerTool({
|
|
15
15
|
required: ['id'],
|
16
16
|
type: 'object',
|
17
17
|
},
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
}
|
18
|
+
handler: async function handleDeleteComment(args) {
|
19
|
+
try {
|
20
|
+
const response = await outlineClient.post('/comments.delete', {
|
21
|
+
id: args.id,
|
22
|
+
});
|
23
|
+
return response.data.success;
|
24
|
+
}
|
25
|
+
catch (error) {
|
26
|
+
console.error('Error deleting comment:', error.message);
|
27
|
+
throw new McpError(ErrorCode.InvalidRequest, error.message);
|
28
|
+
}
|
29
|
+
},
|
30
30
|
});
|
31
31
|
//# sourceMappingURL=deleteComment.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"deleteComment.js","sourceRoot":"","sources":["../../src/tools/deleteComment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,qBAAqB;AACrB,YAAY,
|
1
|
+
{"version":3,"file":"deleteComment.js","sourceRoot":"","sources":["../../src/tools/deleteComment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,qBAAqB;AACrB,YAAY,CAAoB;IAC9B,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,kCAAkC;IAC/C,WAAW,EAAE;QACX,UAAU,EAAE;YACV,EAAE,EAAE;gBACF,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,6BAA6B;aAC3C;SACF;QACD,QAAQ,EAAE,CAAC,IAAI,CAAC;QAChB,IAAI,EAAE,QAAQ;KACf;IACD,OAAO,EAAE,KAAK,UAAU,mBAAmB,CAAC,IAAuB;QACjE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,kBAAkB,EAAE;gBAC5D,EAAE,EAAE,IAAI,CAAC,EAAE;aACZ,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YACxD,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
|
@@ -12,19 +12,20 @@ registerTool({
|
|
12
12
|
description: 'ID of the document to delete',
|
13
13
|
},
|
14
14
|
},
|
15
|
-
required: ['
|
15
|
+
required: ['id'],
|
16
16
|
type: 'object',
|
17
17
|
},
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
18
|
+
handler: async function handleDeleteDocument(args) {
|
19
|
+
try {
|
20
|
+
const response = await outlineClient.post('/documents.delete', {
|
21
|
+
id: args.id,
|
22
|
+
});
|
23
|
+
return response.data.success;
|
24
|
+
}
|
25
|
+
catch (error) {
|
26
|
+
console.error('Error deleting document:', error.message);
|
27
|
+
throw new McpError(ErrorCode.InvalidRequest, error.message);
|
28
|
+
}
|
29
|
+
},
|
29
30
|
});
|
30
31
|
//# sourceMappingURL=deleteDocument.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"deleteDocument.js","sourceRoot":"","sources":["../../src/tools/deleteDocument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,qBAAqB;AACrB,YAAY,
|
1
|
+
{"version":3,"file":"deleteDocument.js","sourceRoot":"","sources":["../../src/tools/deleteDocument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,qBAAqB;AACrB,YAAY,CAAqB;IAC/B,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,mBAAmB;IAChC,WAAW,EAAE;QACX,UAAU,EAAE;YACV,EAAE,EAAE;gBACF,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,8BAA8B;aAC5C;SACF;QACD,QAAQ,EAAE,CAAC,IAAI,CAAC;QAChB,IAAI,EAAE,QAAQ;KACf;IACD,OAAO,EAAE,KAAK,UAAU,oBAAoB,CAAC,IAAwB;QACnE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,mBAAmB,EAAE;gBAC7D,EAAE,EAAE,IAAI,CAAC,EAAE;aACZ,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YACzD,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
|
@@ -15,14 +15,15 @@ registerTool({
|
|
15
15
|
required: ['id'],
|
16
16
|
type: 'object',
|
17
17
|
},
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
18
|
+
handler: async function handleGetCollection(args) {
|
19
|
+
try {
|
20
|
+
const response = await outlineClient.post(`/collections.info`, { id: args.id });
|
21
|
+
return response.data.data;
|
22
|
+
}
|
23
|
+
catch (error) {
|
24
|
+
console.error('Error getting collection:', error.message);
|
25
|
+
throw new McpError(ErrorCode.InvalidRequest, error.message);
|
26
|
+
}
|
27
|
+
},
|
27
28
|
});
|
28
29
|
//# sourceMappingURL=getCollection.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"getCollection.js","sourceRoot":"","sources":["../../src/tools/getCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,qBAAqB;AACrB,YAAY,
|
1
|
+
{"version":3,"file":"getCollection.js","sourceRoot":"","sources":["../../src/tools/getCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,qBAAqB;AACrB,YAAY,CAAoB;IAC9B,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,yCAAyC;IACtD,WAAW,EAAE;QACX,UAAU,EAAE;YACV,EAAE,EAAE;gBACF,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kCAAkC;aAChD;SACF;QACD,QAAQ,EAAE,CAAC,IAAI,CAAC;QAChB,IAAI,EAAE,QAAQ;KACf;IACD,OAAO,EAAE,KAAK,UAAU,mBAAmB,CAAC,IAAuB;QACjE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAChF,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAC1D,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
|
@@ -14,14 +14,15 @@ registerTool({
|
|
14
14
|
},
|
15
15
|
type: 'object',
|
16
16
|
},
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
17
|
+
handler: async function handleGetDocument(args) {
|
18
|
+
try {
|
19
|
+
const response = await outlineClient.post('/documents.info', { id: args.id });
|
20
|
+
return response.data.data;
|
21
|
+
}
|
22
|
+
catch (error) {
|
23
|
+
console.error('Error getting document:', error.message);
|
24
|
+
throw new McpError(ErrorCode.InvalidRequest, error.message);
|
25
|
+
}
|
26
|
+
},
|
26
27
|
});
|
27
28
|
//# sourceMappingURL=getDocument.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"getDocument.js","sourceRoot":"","sources":["../../src/tools/getDocument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,qBAAqB;AACrB,YAAY,
|
1
|
+
{"version":3,"file":"getDocument.js","sourceRoot":"","sources":["../../src/tools/getDocument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,qBAAqB;AACrB,YAAY,CAAkB;IAC5B,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,8EAA8E;IAC3F,WAAW,EAAE;QACX,UAAU,EAAE;YACV,EAAE,EAAE;gBACF,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,gFAAgF;aACnF;SACF;QACD,IAAI,EAAE,QAAQ;KACf;IACD,OAAO,EAAE,KAAK,UAAU,iBAAiB,CAAC,IAAqB;QAC7D,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9E,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YACxD,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
|
@@ -14,18 +14,19 @@ registerTool({
|
|
14
14
|
},
|
15
15
|
type: 'object',
|
16
16
|
},
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
17
|
+
handler: async function handleListCollections(args) {
|
18
|
+
try {
|
19
|
+
const payload = {};
|
20
|
+
if (args.limit) {
|
21
|
+
payload.limit = args.limit;
|
22
|
+
}
|
23
|
+
const response = await outlineClient.post('/collections.list', payload);
|
24
|
+
return response.data.data;
|
22
25
|
}
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
throw new McpError(ErrorCode.InvalidRequest, error.message);
|
29
|
-
}
|
26
|
+
catch (error) {
|
27
|
+
console.error('Error listing collections:', error.message);
|
28
|
+
throw new McpError(ErrorCode.InvalidRequest, error.message);
|
29
|
+
}
|
30
|
+
},
|
30
31
|
});
|
31
32
|
//# sourceMappingURL=listCollections.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"listCollections.js","sourceRoot":"","sources":["../../src/tools/listCollections.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,qBAAqB;AACrB,YAAY,
|
1
|
+
{"version":3,"file":"listCollections.js","sourceRoot":"","sources":["../../src/tools/listCollections.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,qBAAqB;AACrB,YAAY,CAAsB;IAChC,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,+CAA+C;IAC5D,WAAW,EAAE;QACX,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,oDAAoD;aAClE;SACF;QACD,IAAI,EAAE,QAAQ;KACf;IACD,OAAO,EAAE,KAAK,UAAU,qBAAqB,CAAC,IAAyB;QACrE,IAAI,CAAC;YACH,MAAM,OAAO,GAAwB,EAAE,CAAC;YAExC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAC7B,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;YACxE,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3D,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
|