huly-mcp-sdk 0.5.0 → 0.5.2
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 +71 -26
- package/dist/schemas.d.ts +20 -0
- package/dist/schemas.js +9 -1
- package/dist/schemas.js.map +1 -1
- package/dist/server.js +3 -1
- package/dist/server.js.map +1 -1
- package/dist/tools/comments.d.ts +9 -0
- package/dist/tools/comments.js +16 -2
- package/dist/tools/comments.js.map +1 -1
- package/dist/tools/documents.d.ts +9 -0
- package/dist/tools/documents.js +19 -1
- package/dist/tools/documents.js.map +1 -1
- package/package.json +1 -1
- package/scripts/clean-comments.mjs +0 -70
- package/scripts/link-docs-to-issues.mjs +0 -73
- package/scripts/populate-docs.mjs +0 -505
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@ Connects **Claude Desktop** (and any [MCP](https://modelcontextprotocol.io)-comp
|
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
## Tools (
|
|
9
|
+
## Tools (34 total)
|
|
10
10
|
|
|
11
11
|
| Category | Tool | Description |
|
|
12
12
|
|----------|------|-------------|
|
|
@@ -19,7 +19,8 @@ Connects **Claude Desktop** (and any [MCP](https://modelcontextprotocol.io)-comp
|
|
|
19
19
|
| | `update_issue` | Update title, status, priority, assignee, due date, component, milestone |
|
|
20
20
|
| | `delete_issue` | Permanently delete an issue by identifier |
|
|
21
21
|
| **Comments** | `add_comment` | Add a comment to an issue |
|
|
22
|
-
| | `list_comments` | List all comments on an issue |
|
|
22
|
+
| | `list_comments` | List all comments on an issue (includes IDs for `delete_comment`) |
|
|
23
|
+
| | `delete_comment` | Delete a specific comment by ID |
|
|
23
24
|
| **Time Tracking** | `log_time` | Log hours spent on an issue |
|
|
24
25
|
| **Labels** | `list_labels` | List all labels with color + usage count |
|
|
25
26
|
| | `create_label` | Create a new label with an optional hex color |
|
|
@@ -35,9 +36,10 @@ Connects **Claude Desktop** (and any [MCP](https://modelcontextprotocol.io)-comp
|
|
|
35
36
|
| | `create_component` | Create a new component with optional lead |
|
|
36
37
|
| **Documents** | `list_teamspaces` | List document teamspaces |
|
|
37
38
|
| | `list_documents` | List documents in a teamspace |
|
|
38
|
-
| | `get_document` | Get document metadata + content
|
|
39
|
+
| | `get_document` | Get document metadata + content |
|
|
39
40
|
| | `create_document` | Create a new document in a teamspace |
|
|
40
|
-
| | `update_document` |
|
|
41
|
+
| | `update_document` | Write Markdown content to a document — Mermaid diagrams render natively |
|
|
42
|
+
| | `link_document` | Link a document to an issue — appears in the Relations panel |
|
|
41
43
|
| **Search** | `search_issues` | Full-text search across all issues |
|
|
42
44
|
|
|
43
45
|
---
|
|
@@ -93,6 +95,7 @@ Restart Claude Desktop after saving.
|
|
|
93
95
|
> Then use `"command": "node", "args": ["/absolute/path/to/huly-mcp/dist/index.js"]` in your config.
|
|
94
96
|
|
|
95
97
|
---
|
|
98
|
+
|
|
96
99
|
<img width="932" height="401" alt="image" src="https://github.com/user-attachments/assets/0f9d9a74-ca1e-4884-bd6a-918c0fb8ddbd" />
|
|
97
100
|
|
|
98
101
|
## Example Prompts
|
|
@@ -120,37 +123,22 @@ Restart Claude Desktop after saving.
|
|
|
120
123
|
|
|
121
124
|
**Time tracking:**
|
|
122
125
|
- *"Log 2.5 hours on PROJ-42 for the database refactor"*
|
|
123
|
-
- *"Log 1 hour on PROJ-55 — Fixed bug in login form"*
|
|
124
126
|
|
|
125
127
|
**Documents:**
|
|
126
128
|
- *"List all documents in the Engineering teamspace"*
|
|
127
129
|
- *"Create a document called 'API Design' in the Engineering teamspace"*
|
|
128
|
-
- *"
|
|
129
|
-
- *"
|
|
130
|
-
- *"
|
|
130
|
+
- *"Update the API Design document with this Markdown: ..."*
|
|
131
|
+
- *"Add a Mermaid architecture diagram to the EP1 document"*
|
|
132
|
+
- *"Link document abc123 to issue PROJ-42"*
|
|
133
|
+
- *"Delete the second comment on PROJ-15"*
|
|
131
134
|
|
|
132
135
|
---
|
|
133
136
|
|
|
134
137
|
## Document Content
|
|
135
138
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
### Writing document content with `update_document`
|
|
139
|
-
|
|
140
|
-
`update_document` accepts a `documentId` and a `markdown` string and writes rich content directly to the document — no manual editing required. Supported Markdown elements:
|
|
141
|
-
|
|
142
|
-
- Headings (`#`, `##`, `###`)
|
|
143
|
-
- Paragraphs and inline **bold** / `code`
|
|
144
|
-
- Fenced code blocks — ` ```mermaid ` blocks are stored using Huly's native Mermaid node type, so diagrams render as interactive visuals in the editor
|
|
145
|
-
- Bullet lists
|
|
146
|
-
- Pipe tables
|
|
139
|
+
### Reading: `get_document`
|
|
147
140
|
|
|
148
|
-
|
|
149
|
-
update_document({
|
|
150
|
-
documentId: "abc123",
|
|
151
|
-
markdown: "# My Doc\n\n```mermaid\nflowchart TD\n A --> B\n```"
|
|
152
|
-
})
|
|
153
|
-
```
|
|
141
|
+
`get_document` always returns full metadata (title, teamspace, comments, snapshots). To also fetch and display the **text content**, set the optional `HULY_FRONT_URL` env var:
|
|
154
142
|
|
|
155
143
|
```json
|
|
156
144
|
"env": {
|
|
@@ -162,7 +150,42 @@ update_document({
|
|
|
162
150
|
|
|
163
151
|
For **self-hosted** Huly, set `HULY_FRONT_URL` to your own front service URL (e.g. `http://localhost:8083`).
|
|
164
152
|
|
|
165
|
-
|
|
153
|
+
### Writing: `update_document`
|
|
154
|
+
|
|
155
|
+
`update_document` accepts a `documentId` and a `markdown` string and writes rich structured content directly to the document — no manual editing required.
|
|
156
|
+
|
|
157
|
+
**Supported Markdown:**
|
|
158
|
+
|
|
159
|
+
| Element | Syntax |
|
|
160
|
+
|---------|--------|
|
|
161
|
+
| Headings | `#`, `##`, `###` |
|
|
162
|
+
| Bold / inline code | `**bold**`, `` `code` `` |
|
|
163
|
+
| Paragraphs | plain text |
|
|
164
|
+
| Bullet lists | `- item` |
|
|
165
|
+
| Pipe tables | `\| col \| col \|` |
|
|
166
|
+
| Code blocks | ` ```lang ` |
|
|
167
|
+
| **Mermaid diagrams** | ` ```mermaid ` — stored as Huly's native `mermaid` node type so diagrams render as interactive visuals in the editor |
|
|
168
|
+
|
|
169
|
+
**Example:**
|
|
170
|
+
|
|
171
|
+
```
|
|
172
|
+
update_document({
|
|
173
|
+
documentId: "abc123",
|
|
174
|
+
markdown: `# Service Flow\n\n` +
|
|
175
|
+
`## Architecture\n\n` +
|
|
176
|
+
"```mermaid\n" +
|
|
177
|
+
"flowchart TD\n" +
|
|
178
|
+
" A([User]) --> B[Browse Catalogue]\n" +
|
|
179
|
+
" B --> C[Pay via Razorpay]\n" +
|
|
180
|
+
" C --> D[Order Confirmed]\n" +
|
|
181
|
+
"```\n\n" +
|
|
182
|
+
"## Business Rules\n\n" +
|
|
183
|
+
"- Payment required before confirmation\n" +
|
|
184
|
+
"- All orders synced to HIS\n"
|
|
185
|
+
})
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
The Mermaid block renders as a live interactive diagram in Huly's document editor — not as a code block.
|
|
166
189
|
|
|
167
190
|
---
|
|
168
191
|
|
|
@@ -230,6 +253,28 @@ HULY_FRONT_URL=https://your-huly-instance.com
|
|
|
230
253
|
|
|
231
254
|
---
|
|
232
255
|
|
|
256
|
+
## Changelog
|
|
257
|
+
|
|
258
|
+
### v0.5.2 — delete_comment + link_document
|
|
259
|
+
- **New: `delete_comment`** — delete a specific comment from an issue by ID; `list_comments` now includes comment IDs in its output
|
|
260
|
+
- **New: `link_document`** — link a Huly document to an issue; the document appears in the Relations panel on the issue
|
|
261
|
+
|
|
262
|
+
### v0.5.0 — Document Writing + Bug Fixes
|
|
263
|
+
- **New: `update_document`** — write Markdown to any Huly document programmatically; `\`\`\`mermaid` blocks use Huly's native node type and render as interactive diagrams
|
|
264
|
+
- **Fix: `IssueStatus` queries** — statuses are stored globally in Huly (`core:space:Model`), not per-project; removed incorrect space filter that caused *"no statuses found"* errors on `create_issue`, `update_issue`, and `list_issues`
|
|
265
|
+
- **Fix: `create_project`** — sets `members: [currentUser]` so newly created projects are immediately visible in the Huly UI
|
|
266
|
+
|
|
267
|
+
### v0.4.0
|
|
268
|
+
- `log_time`, `list_comments`, component/milestone assignment on `update_issue`
|
|
269
|
+
|
|
270
|
+
### v0.3.1
|
|
271
|
+
- `get_document`, `create_document`
|
|
272
|
+
|
|
273
|
+
### v0.3.0
|
|
274
|
+
- `create_project`, `create_milestone`, assignee support on issues
|
|
275
|
+
|
|
276
|
+
---
|
|
277
|
+
|
|
233
278
|
## Links
|
|
234
279
|
|
|
235
280
|
- npm: https://www.npmjs.com/package/huly-mcp-sdk
|
package/dist/schemas.d.ts
CHANGED
|
@@ -289,3 +289,23 @@ export declare const UpdateDocumentSchema: z.ZodObject<{
|
|
|
289
289
|
documentId: string;
|
|
290
290
|
markdown: string;
|
|
291
291
|
}>;
|
|
292
|
+
export declare const DeleteCommentSchema: z.ZodObject<{
|
|
293
|
+
identifier: z.ZodString;
|
|
294
|
+
commentId: z.ZodString;
|
|
295
|
+
}, "strip", z.ZodTypeAny, {
|
|
296
|
+
identifier: string;
|
|
297
|
+
commentId: string;
|
|
298
|
+
}, {
|
|
299
|
+
identifier: string;
|
|
300
|
+
commentId: string;
|
|
301
|
+
}>;
|
|
302
|
+
export declare const LinkDocumentSchema: z.ZodObject<{
|
|
303
|
+
identifier: z.ZodString;
|
|
304
|
+
documentId: z.ZodString;
|
|
305
|
+
}, "strip", z.ZodTypeAny, {
|
|
306
|
+
identifier: string;
|
|
307
|
+
documentId: string;
|
|
308
|
+
}, {
|
|
309
|
+
identifier: string;
|
|
310
|
+
documentId: string;
|
|
311
|
+
}>;
|
package/dist/schemas.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UpdateDocumentSchema = exports.LogTimeSchema = exports.ListCommentsSchema = exports.SetParentSchema = exports.AddBlockedBySchema = exports.AddRelationSchema = exports.RemoveLabelSchema = exports.AddLabelSchema = exports.CreateLabelSchema = exports.ListLabelsSchema = exports.SearchIssuesSchema = exports.CreateDocumentSchema = exports.GetDocumentSchema = exports.ListDocumentsSchema = exports.CreateProjectSchema = exports.CreateComponentSchema = exports.ListComponentsSchema = exports.CreateMilestoneSchema = exports.ListMilestonesSchema = exports.AddCommentSchema = exports.UpdateIssueSchema = exports.DeleteIssueSchema = exports.CreateIssueSchema = exports.GetIssueSchema = exports.ListIssuesSchema = exports.GetProjectSchema = void 0;
|
|
3
|
+
exports.LinkDocumentSchema = exports.DeleteCommentSchema = exports.UpdateDocumentSchema = exports.LogTimeSchema = exports.ListCommentsSchema = exports.SetParentSchema = exports.AddBlockedBySchema = exports.AddRelationSchema = exports.RemoveLabelSchema = exports.AddLabelSchema = exports.CreateLabelSchema = exports.ListLabelsSchema = exports.SearchIssuesSchema = exports.CreateDocumentSchema = exports.GetDocumentSchema = exports.ListDocumentsSchema = exports.CreateProjectSchema = exports.CreateComponentSchema = exports.ListComponentsSchema = exports.CreateMilestoneSchema = exports.ListMilestonesSchema = exports.AddCommentSchema = exports.UpdateIssueSchema = exports.DeleteIssueSchema = exports.CreateIssueSchema = exports.GetIssueSchema = exports.ListIssuesSchema = exports.GetProjectSchema = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
const PriorityEnum = zod_1.z.enum(['NoPriority', 'Urgent', 'High', 'Medium', 'Low']);
|
|
6
6
|
exports.GetProjectSchema = zod_1.z.object({
|
|
@@ -120,4 +120,12 @@ exports.UpdateDocumentSchema = zod_1.z.object({
|
|
|
120
120
|
documentId: zod_1.z.string().describe('Document _id from list_documents or create_document'),
|
|
121
121
|
markdown: zod_1.z.string().min(1).describe('Markdown content to set as the document body')
|
|
122
122
|
});
|
|
123
|
+
exports.DeleteCommentSchema = zod_1.z.object({
|
|
124
|
+
identifier: zod_1.z.string().describe('Issue identifier, e.g. "PROJ-123"'),
|
|
125
|
+
commentId: zod_1.z.string().describe('Comment _id from list_comments')
|
|
126
|
+
});
|
|
127
|
+
exports.LinkDocumentSchema = zod_1.z.object({
|
|
128
|
+
identifier: zod_1.z.string().describe('Issue identifier, e.g. "PROJ-123"'),
|
|
129
|
+
documentId: zod_1.z.string().describe('Document _id from list_documents or create_document')
|
|
130
|
+
});
|
|
123
131
|
//# sourceMappingURL=schemas.js.map
|
package/dist/schemas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
|
package/dist/server.js
CHANGED
|
@@ -28,7 +28,8 @@ function createServer() {
|
|
|
28
28
|
server.tool('delete_issue', 'Permanently delete an issue by identifier (e.g. "PROJ-123")', schemas_1.DeleteIssueSchema.shape, issues_1.deleteIssue);
|
|
29
29
|
// Comments
|
|
30
30
|
server.tool('add_comment', 'Add a comment to an issue', schemas_1.AddCommentSchema.shape, comments_1.addComment);
|
|
31
|
-
server.tool('list_comments', 'List all comments on an issue', schemas_1.ListCommentsSchema.shape, comments_1.listComments);
|
|
31
|
+
server.tool('list_comments', 'List all comments on an issue (includes comment IDs for use with delete_comment)', schemas_1.ListCommentsSchema.shape, comments_1.listComments);
|
|
32
|
+
server.tool('delete_comment', 'Delete a specific comment from an issue by its ID (get IDs from list_comments)', schemas_1.DeleteCommentSchema.shape, comments_1.deleteComment);
|
|
32
33
|
// Time tracking
|
|
33
34
|
server.tool('log_time', 'Log hours spent on an issue', schemas_1.LogTimeSchema.shape, log_time_1.logTime);
|
|
34
35
|
// Labels
|
|
@@ -54,6 +55,7 @@ function createServer() {
|
|
|
54
55
|
server.tool('get_document', 'Get metadata and content of a document (content requires HULY_FRONT_URL env)', schemas_1.GetDocumentSchema.shape, documents_1.getDocument);
|
|
55
56
|
server.tool('create_document', 'Create a new document in a teamspace', schemas_1.CreateDocumentSchema.shape, documents_1.createDocument);
|
|
56
57
|
server.tool('update_document', 'Set or replace the content of a document from Markdown (supports headings, paragraphs, code blocks, tables, bullet lists)', schemas_1.UpdateDocumentSchema.shape, documents_1.updateDocument);
|
|
58
|
+
server.tool('link_document', 'Link a Huly document to an issue — appears in the Relations panel on the issue', schemas_1.LinkDocumentSchema.shape, documents_1.linkDocument);
|
|
57
59
|
// Search
|
|
58
60
|
server.tool('search_issues', 'Full-text search across all issues', schemas_1.SearchIssuesSchema.shape, search_1.searchIssues);
|
|
59
61
|
return server;
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/comments.d.ts
CHANGED
|
@@ -16,3 +16,12 @@ export declare const listComments: (args: {
|
|
|
16
16
|
text: string;
|
|
17
17
|
}>;
|
|
18
18
|
}>;
|
|
19
|
+
export declare const deleteComment: (args: {
|
|
20
|
+
identifier: string;
|
|
21
|
+
commentId: string;
|
|
22
|
+
}) => Promise<{
|
|
23
|
+
content: Array<{
|
|
24
|
+
type: "text";
|
|
25
|
+
text: string;
|
|
26
|
+
}>;
|
|
27
|
+
}>;
|
package/dist/tools/comments.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.listComments = exports.addComment = void 0;
|
|
6
|
+
exports.deleteComment = exports.listComments = exports.addComment = void 0;
|
|
7
7
|
const tracker_1 = __importDefault(require("@hcengineering/tracker"));
|
|
8
8
|
const chunter_1 = __importDefault(require("@hcengineering/chunter"));
|
|
9
9
|
const contact_1 = __importDefault(require("@hcengineering/contact"));
|
|
@@ -39,8 +39,22 @@ exports.listComments = (0, errors_1.wrapToolHandler)(async (args) => {
|
|
|
39
39
|
const author = memberMap.get(comment.createdBy) ?? 'Unknown';
|
|
40
40
|
const date = (0, format_1.formatDate)(comment.createdOn);
|
|
41
41
|
const message = comment.message ?? '';
|
|
42
|
-
return `**${author}** @ ${date}:\n> ${message.split('\n').join('\n> ')}`;
|
|
42
|
+
return `**${author}** @ ${date} (id: \`${comment._id}\`):\n> ${message.split('\n').join('\n> ')}`;
|
|
43
43
|
});
|
|
44
44
|
return `## Comments on ${args.identifier} (${comments.length})\n\n${lines.join('\n\n')}`;
|
|
45
45
|
});
|
|
46
|
+
exports.deleteComment = (0, errors_1.wrapToolHandler)(async (args) => {
|
|
47
|
+
const client = await (0, connection_1.getConnection)();
|
|
48
|
+
const issue = await client.findOne(tracker_1.default.class.Issue, { identifier: args.identifier });
|
|
49
|
+
if (issue == null)
|
|
50
|
+
throw new Error(`Issue '${args.identifier}' not found.`);
|
|
51
|
+
const comment = await client.findOne(chunter_1.default.class.ChatMessage, {
|
|
52
|
+
_id: args.commentId,
|
|
53
|
+
attachedTo: issue._id
|
|
54
|
+
});
|
|
55
|
+
if (comment == null)
|
|
56
|
+
throw new Error(`Comment '${args.commentId}' not found on ${args.identifier}.`);
|
|
57
|
+
await client.removeCollection(chunter_1.default.class.ChatMessage, issue.space, comment._id, issue._id, tracker_1.default.class.Issue, 'comments');
|
|
58
|
+
return `✅ Comment \`${args.commentId}\` deleted from **${args.identifier}**.`;
|
|
59
|
+
});
|
|
46
60
|
//# sourceMappingURL=comments.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comments.js","sourceRoot":"","sources":["../../src/tools/comments.ts"],"names":[],"mappings":";;;;;;AAAA,qEAA4C;AAC5C,qEAA4C;AAC5C,qEAA4C;AAC5C,8CAA6C;AAC7C,4CAAiD;AACjD,4CAA4C;AAG5C,
|
|
1
|
+
{"version":3,"file":"comments.js","sourceRoot":"","sources":["../../src/tools/comments.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,3 +39,12 @@ export declare const updateDocument: (args: {
|
|
|
39
39
|
text: string;
|
|
40
40
|
}>;
|
|
41
41
|
}>;
|
|
42
|
+
export declare const linkDocument: (args: {
|
|
43
|
+
identifier: string;
|
|
44
|
+
documentId: string;
|
|
45
|
+
}) => Promise<{
|
|
46
|
+
content: Array<{
|
|
47
|
+
type: "text";
|
|
48
|
+
text: string;
|
|
49
|
+
}>;
|
|
50
|
+
}>;
|
package/dist/tools/documents.js
CHANGED
|
@@ -3,12 +3,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.updateDocument = exports.createDocument = exports.getDocument = exports.listDocuments = exports.listTeamspaces = void 0;
|
|
6
|
+
exports.linkDocument = exports.updateDocument = exports.createDocument = exports.getDocument = exports.listDocuments = exports.listTeamspaces = void 0;
|
|
7
7
|
const document_1 = __importDefault(require("@hcengineering/document"));
|
|
8
8
|
const core_1 = require("@hcengineering/core");
|
|
9
9
|
const document_2 = require("@hcengineering/document");
|
|
10
10
|
const connection_1 = require("../connection");
|
|
11
11
|
const errors_1 = require("../utils/errors");
|
|
12
|
+
const tracker_1 = __importDefault(require("@hcengineering/tracker"));
|
|
12
13
|
exports.listTeamspaces = (0, errors_1.wrapToolHandler)(async () => {
|
|
13
14
|
const client = await (0, connection_1.getConnection)();
|
|
14
15
|
const teamspaces = await client.findAll(document_1.default.class.Teamspace, {});
|
|
@@ -262,6 +263,23 @@ function buildTable(rows) {
|
|
|
262
263
|
}
|
|
263
264
|
return { type: 'table', content: tableRows };
|
|
264
265
|
}
|
|
266
|
+
exports.linkDocument = (0, errors_1.wrapToolHandler)(async (args) => {
|
|
267
|
+
const client = await (0, connection_1.getConnection)();
|
|
268
|
+
const issue = await client.findOne(tracker_1.default.class.Issue, { identifier: args.identifier });
|
|
269
|
+
if (issue == null)
|
|
270
|
+
throw new Error(`Issue '${args.identifier}' not found.`);
|
|
271
|
+
const doc = await client.findOne(document_1.default.class.Document, { _id: args.documentId });
|
|
272
|
+
if (doc == null)
|
|
273
|
+
throw new Error(`Document '${args.documentId}' not found.`);
|
|
274
|
+
const existing = issue.relations ?? [];
|
|
275
|
+
if (existing.some((r) => r._id === doc._id)) {
|
|
276
|
+
return `ℹ️ Document **"${doc.title}"** is already linked to **${args.identifier}**.`;
|
|
277
|
+
}
|
|
278
|
+
await client.updateDoc(tracker_1.default.class.Issue, issue.space, issue._id, {
|
|
279
|
+
relations: [...existing, { _id: doc._id, _class: doc._class }]
|
|
280
|
+
});
|
|
281
|
+
return `✅ Document **"${doc.title}"** linked to **${args.identifier}** — visible in the Relations panel.`;
|
|
282
|
+
});
|
|
265
283
|
// Helper: extract plain text from Huly's ProseMirror JSON markup
|
|
266
284
|
function extractText(node) {
|
|
267
285
|
if (typeof node === 'string')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"documents.js","sourceRoot":"","sources":["../../src/tools/documents.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"documents.js","sourceRoot":"","sources":["../../src/tools/documents.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* Delete the ASCII art comments from the 4 epic issues (MCARE-4..7)
|
|
4
|
-
* Run: node --env-file=.env scripts/clean-comments.mjs
|
|
5
|
-
*/
|
|
6
|
-
import accountClientPkg from '@hcengineering/account-client'
|
|
7
|
-
import corePkg from '@hcengineering/core'
|
|
8
|
-
import serverClientPkg from '@hcengineering/server-client'
|
|
9
|
-
import trackerPkg from '@hcengineering/tracker'
|
|
10
|
-
import chunterPkg from '@hcengineering/chunter'
|
|
11
|
-
|
|
12
|
-
const { getClient: getRawAccountClient } = accountClientPkg
|
|
13
|
-
const { TxOperations } = corePkg
|
|
14
|
-
const { createClient } = serverClientPkg
|
|
15
|
-
const tracker = trackerPkg.default ?? trackerPkg
|
|
16
|
-
const chunter = chunterPkg.default ?? chunterPkg
|
|
17
|
-
|
|
18
|
-
const ACCOUNTS_URL = process.env.HULY_ACCOUNTS_URL ?? 'https://account.huly.app'
|
|
19
|
-
|
|
20
|
-
async function connect () {
|
|
21
|
-
const workspaceUrl = process.env.HULY_WORKSPACE
|
|
22
|
-
const hulyToken = process.env.HULY_TOKEN
|
|
23
|
-
if (!workspaceUrl || !hulyToken) throw new Error('HULY_WORKSPACE and HULY_TOKEN required')
|
|
24
|
-
|
|
25
|
-
const authedClient = getRawAccountClient(ACCOUNTS_URL, hulyToken)
|
|
26
|
-
const info = await authedClient.getLoginInfoByToken()
|
|
27
|
-
if (!info) throw new Error('Token invalid')
|
|
28
|
-
|
|
29
|
-
let socialId, endpoint, wsToken
|
|
30
|
-
|
|
31
|
-
if ('endpoint' in info && info.endpoint) {
|
|
32
|
-
socialId = info.socialId; endpoint = info.endpoint; wsToken = info.token
|
|
33
|
-
} else {
|
|
34
|
-
socialId = info.socialId
|
|
35
|
-
const wsInfo = await authedClient.selectWorkspace(workspaceUrl, 'external')
|
|
36
|
-
endpoint = wsInfo.endpoint; wsToken = wsInfo.token
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
const rawConnection = await createClient(endpoint, wsToken)
|
|
40
|
-
const txClient = new TxOperations(rawConnection, socialId)
|
|
41
|
-
return { txClient, rawConnection }
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
const { txClient, rawConnection } = await connect()
|
|
45
|
-
console.log('Connected.')
|
|
46
|
-
|
|
47
|
-
const EPICS = ['MCARE-4', 'MCARE-5', 'MCARE-6', 'MCARE-7']
|
|
48
|
-
|
|
49
|
-
for (const identifier of EPICS) {
|
|
50
|
-
const issue = await txClient.findOne(tracker.class.Issue, { identifier })
|
|
51
|
-
if (!issue) { console.log(`${identifier}: NOT FOUND`); continue }
|
|
52
|
-
|
|
53
|
-
const comments = await txClient.findAll(chunter.class.ChatMessage, { attachedTo: issue._id })
|
|
54
|
-
if (comments.length === 0) { console.log(`${identifier}: no comments`); continue }
|
|
55
|
-
|
|
56
|
-
for (const comment of comments) {
|
|
57
|
-
await txClient.removeCollection(
|
|
58
|
-
chunter.class.ChatMessage,
|
|
59
|
-
issue.space,
|
|
60
|
-
comment._id,
|
|
61
|
-
issue._id,
|
|
62
|
-
tracker.class.Issue,
|
|
63
|
-
'comments'
|
|
64
|
-
)
|
|
65
|
-
console.log(`${identifier}: deleted comment ${comment._id}`)
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
await rawConnection.close()
|
|
70
|
-
console.log('Done.')
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* Link EP1-EP4 documents to their corresponding epic issues via relations
|
|
4
|
-
* Run: node --env-file=.env scripts/link-docs-to-issues.mjs
|
|
5
|
-
*/
|
|
6
|
-
import accountClientPkg from '@hcengineering/account-client'
|
|
7
|
-
import corePkg from '@hcengineering/core'
|
|
8
|
-
import serverClientPkg from '@hcengineering/server-client'
|
|
9
|
-
import trackerPkg from '@hcengineering/tracker'
|
|
10
|
-
import documentPkg from '@hcengineering/document'
|
|
11
|
-
|
|
12
|
-
const { getClient: getRawAccountClient } = accountClientPkg
|
|
13
|
-
const { TxOperations } = corePkg
|
|
14
|
-
const { createClient } = serverClientPkg
|
|
15
|
-
const tracker = trackerPkg.default ?? trackerPkg
|
|
16
|
-
const document = documentPkg.default ?? documentPkg
|
|
17
|
-
|
|
18
|
-
const ACCOUNTS_URL = process.env.HULY_ACCOUNTS_URL ?? 'https://account.huly.app'
|
|
19
|
-
|
|
20
|
-
async function connect () {
|
|
21
|
-
const workspaceUrl = process.env.HULY_WORKSPACE
|
|
22
|
-
const hulyToken = process.env.HULY_TOKEN
|
|
23
|
-
if (!workspaceUrl || !hulyToken) throw new Error('HULY_WORKSPACE and HULY_TOKEN required')
|
|
24
|
-
|
|
25
|
-
const authedClient = getRawAccountClient(ACCOUNTS_URL, hulyToken)
|
|
26
|
-
const info = await authedClient.getLoginInfoByToken()
|
|
27
|
-
if (!info) throw new Error('Token invalid')
|
|
28
|
-
|
|
29
|
-
let socialId, endpoint, wsToken
|
|
30
|
-
if ('endpoint' in info && info.endpoint) {
|
|
31
|
-
socialId = info.socialId; endpoint = info.endpoint; wsToken = info.token
|
|
32
|
-
} else {
|
|
33
|
-
socialId = info.socialId
|
|
34
|
-
const wsInfo = await authedClient.selectWorkspace(workspaceUrl, 'external')
|
|
35
|
-
endpoint = wsInfo.endpoint; wsToken = wsInfo.token
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
const rawConnection = await createClient(endpoint, wsToken)
|
|
39
|
-
const txClient = new TxOperations(rawConnection, socialId)
|
|
40
|
-
return { txClient, rawConnection }
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
const LINKS = [
|
|
44
|
-
{ issue: 'MCARE-4', docId: '69b9a635cf60316d6ce21a50' }, // EP1
|
|
45
|
-
{ issue: 'MCARE-5', docId: '69b9a63bcf60316d6ce21a52' }, // EP2
|
|
46
|
-
{ issue: 'MCARE-6', docId: '69b9a640cf60316d6ce21a54' }, // EP3
|
|
47
|
-
{ issue: 'MCARE-7', docId: '69b9a645cf60316d6ce21a56' }, // EP4
|
|
48
|
-
]
|
|
49
|
-
|
|
50
|
-
const { txClient, rawConnection } = await connect()
|
|
51
|
-
console.log('Connected.')
|
|
52
|
-
|
|
53
|
-
for (const { issue: identifier, docId } of LINKS) {
|
|
54
|
-
const issue = await txClient.findOne(tracker.class.Issue, { identifier })
|
|
55
|
-
if (!issue) { console.log(`${identifier}: NOT FOUND`); continue }
|
|
56
|
-
|
|
57
|
-
const doc = await txClient.findOne(document.class.Document, { _id: docId })
|
|
58
|
-
if (!doc) { console.log(`${identifier}: document ${docId} NOT FOUND`); continue }
|
|
59
|
-
|
|
60
|
-
// Build updated relations array (keep existing + add the document link)
|
|
61
|
-
const existing = issue.relations ?? []
|
|
62
|
-
const alreadyLinked = existing.some(r => r._id === docId)
|
|
63
|
-
if (alreadyLinked) { console.log(`${identifier}: already linked`); continue }
|
|
64
|
-
|
|
65
|
-
await txClient.updateDoc(tracker.class.Issue, issue.space, issue._id, {
|
|
66
|
-
relations: [...existing, { _id: doc._id, _class: doc._class }]
|
|
67
|
-
})
|
|
68
|
-
|
|
69
|
-
console.log(`${identifier} ↔ "${doc.title}" ✅`)
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
await rawConnection.close()
|
|
73
|
-
console.log('Done.')
|
|
@@ -1,505 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* One-off script: populate the 4 medics-care epic documents with Mermaid diagrams
|
|
4
|
-
* Run: node --env-file=.env scripts/populate-docs.mjs
|
|
5
|
-
*/
|
|
6
|
-
import accountClientPkg from '@hcengineering/account-client'
|
|
7
|
-
import corePkg from '@hcengineering/core'
|
|
8
|
-
import serverClientPkg from '@hcengineering/server-client'
|
|
9
|
-
import documentPkg from '@hcengineering/document'
|
|
10
|
-
|
|
11
|
-
const { getClient: getRawAccountClient } = accountClientPkg
|
|
12
|
-
const { TxOperations } = corePkg
|
|
13
|
-
const { createClient } = serverClientPkg
|
|
14
|
-
const document = documentPkg.default ?? documentPkg
|
|
15
|
-
|
|
16
|
-
const DATALAKE_URL = 'https://dl-eu.huly.app'
|
|
17
|
-
const ACCOUNTS_URL = process.env.HULY_ACCOUNTS_URL ?? 'https://account.huly.app'
|
|
18
|
-
|
|
19
|
-
// ── Connect ───────────────────────────────────────────────────────────────────
|
|
20
|
-
|
|
21
|
-
async function connect () {
|
|
22
|
-
const workspaceUrl = process.env.HULY_WORKSPACE
|
|
23
|
-
const hulyToken = process.env.HULY_TOKEN
|
|
24
|
-
|
|
25
|
-
if (!workspaceUrl || !hulyToken) throw new Error('HULY_WORKSPACE and HULY_TOKEN are required')
|
|
26
|
-
|
|
27
|
-
const authedClient = getRawAccountClient(ACCOUNTS_URL, hulyToken)
|
|
28
|
-
const info = await authedClient.getLoginInfoByToken()
|
|
29
|
-
if (!info) throw new Error('HULY_TOKEN invalid or expired')
|
|
30
|
-
|
|
31
|
-
let socialId, endpoint, wsToken, workspaceUuid
|
|
32
|
-
|
|
33
|
-
if ('endpoint' in info && info.endpoint) {
|
|
34
|
-
socialId = info.socialId
|
|
35
|
-
endpoint = info.endpoint
|
|
36
|
-
wsToken = info.token
|
|
37
|
-
workspaceUuid = String(info.workspace ?? '')
|
|
38
|
-
} else if ('token' in info && info.token) {
|
|
39
|
-
socialId = info.socialId
|
|
40
|
-
const wsInfo = await authedClient.selectWorkspace(workspaceUrl, 'external')
|
|
41
|
-
if (!wsInfo.endpoint || !wsInfo.token) throw new Error(`Workspace '${workspaceUrl}' not accessible`)
|
|
42
|
-
endpoint = wsInfo.endpoint
|
|
43
|
-
wsToken = wsInfo.token
|
|
44
|
-
workspaceUuid = String(wsInfo.workspace ?? '')
|
|
45
|
-
} else {
|
|
46
|
-
throw new Error('Unexpected token response')
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
const rawConnection = await createClient(endpoint, wsToken)
|
|
50
|
-
const txClient = new TxOperations(rawConnection, socialId)
|
|
51
|
-
return { txClient, rawConnection, wsToken, workspaceUuid }
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
// ── Upload blob ───────────────────────────────────────────────────────────────
|
|
55
|
-
|
|
56
|
-
async function uploadContent (wsToken, workspaceUuid, docId, content) {
|
|
57
|
-
const blobId = `${docId}-content-${Date.now()}`
|
|
58
|
-
const form = new FormData()
|
|
59
|
-
form.append('file', new Blob([content], { type: 'application/json' }), blobId)
|
|
60
|
-
|
|
61
|
-
const res = await fetch(`${DATALAKE_URL}/upload/form-data/${workspaceUuid}`, {
|
|
62
|
-
method: 'POST',
|
|
63
|
-
headers: { Authorization: `Bearer ${wsToken}` },
|
|
64
|
-
body: form
|
|
65
|
-
})
|
|
66
|
-
|
|
67
|
-
if (!res.ok) throw new Error(`Upload failed (${res.status}): ${await res.text()}`)
|
|
68
|
-
const json = await res.json()
|
|
69
|
-
return json[0]?.id ?? blobId
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
// ── Markdown → ProseMirror ────────────────────────────────────────────────────
|
|
73
|
-
|
|
74
|
-
function parseInline (text) {
|
|
75
|
-
const nodes = []
|
|
76
|
-
const re = /\*\*(.+?)\*\*|`(.+?)`|([^`*]+)/g
|
|
77
|
-
let m
|
|
78
|
-
while ((m = re.exec(text)) !== null) {
|
|
79
|
-
if (m[1] != null) nodes.push({ type: 'text', text: m[1], marks: [{ type: 'bold' }] })
|
|
80
|
-
else if (m[2] != null) nodes.push({ type: 'text', text: m[2], marks: [{ type: 'code' }] })
|
|
81
|
-
else if (m[3]?.length > 0) nodes.push({ type: 'text', text: m[3] })
|
|
82
|
-
}
|
|
83
|
-
return nodes.length > 0 ? nodes : [{ type: 'text', text }]
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
function buildTable (rows) {
|
|
87
|
-
const [headerRow, ...bodyRows] = rows
|
|
88
|
-
const tableRows = []
|
|
89
|
-
if (headerRow) {
|
|
90
|
-
tableRows.push({
|
|
91
|
-
type: 'tableRow',
|
|
92
|
-
content: headerRow.map(cell => ({
|
|
93
|
-
type: 'tableHeader',
|
|
94
|
-
content: [{ type: 'paragraph', content: parseInline(cell) }]
|
|
95
|
-
}))
|
|
96
|
-
})
|
|
97
|
-
}
|
|
98
|
-
for (const row of bodyRows) {
|
|
99
|
-
tableRows.push({
|
|
100
|
-
type: 'tableRow',
|
|
101
|
-
content: row.map(cell => ({
|
|
102
|
-
type: 'tableCell',
|
|
103
|
-
content: [{ type: 'paragraph', content: parseInline(cell) }]
|
|
104
|
-
}))
|
|
105
|
-
})
|
|
106
|
-
}
|
|
107
|
-
return { type: 'table', content: tableRows }
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
function markdownToProseMirror (md) {
|
|
111
|
-
const lines = md.split('\n')
|
|
112
|
-
const nodes = []
|
|
113
|
-
let i = 0
|
|
114
|
-
|
|
115
|
-
while (i < lines.length) {
|
|
116
|
-
const line = lines[i]
|
|
117
|
-
|
|
118
|
-
// Fenced code block
|
|
119
|
-
if (line.startsWith('```')) {
|
|
120
|
-
const lang = line.slice(3).trim()
|
|
121
|
-
const codeLines = []
|
|
122
|
-
i++
|
|
123
|
-
while (i < lines.length && !lines[i].startsWith('```')) {
|
|
124
|
-
codeLines.push(lines[i])
|
|
125
|
-
i++
|
|
126
|
-
}
|
|
127
|
-
i++
|
|
128
|
-
// Use Huly's native 'mermaid' node type so diagrams render properly
|
|
129
|
-
const nodeType = lang === 'mermaid' ? 'mermaid' : 'codeBlock'
|
|
130
|
-
nodes.push({
|
|
131
|
-
type: nodeType,
|
|
132
|
-
attrs: { language: lang || null },
|
|
133
|
-
content: [{ type: 'text', text: codeLines.join('\n') }]
|
|
134
|
-
})
|
|
135
|
-
continue
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
// Heading
|
|
139
|
-
const hm = line.match(/^(#{1,6})\s+(.+)$/)
|
|
140
|
-
if (hm) {
|
|
141
|
-
nodes.push({ type: 'heading', attrs: { level: hm[1].length }, content: parseInline(hm[2]) })
|
|
142
|
-
i++; continue
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
// Table
|
|
146
|
-
if (line.includes('|') && line.trim().startsWith('|')) {
|
|
147
|
-
const tableRows = []
|
|
148
|
-
while (i < lines.length && lines[i].includes('|') && lines[i].trim().startsWith('|')) {
|
|
149
|
-
const row = lines[i].trim().replace(/^\||\|$/g, '').split('|').map(c => c.trim())
|
|
150
|
-
if (!row.every(c => /^[-:]+$/.test(c))) tableRows.push(row)
|
|
151
|
-
i++
|
|
152
|
-
}
|
|
153
|
-
if (tableRows.length > 0) nodes.push(buildTable(tableRows))
|
|
154
|
-
continue
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
// Bullet list
|
|
158
|
-
if (/^(\s*[-*+])\s/.test(line)) {
|
|
159
|
-
const items = []
|
|
160
|
-
while (i < lines.length && /^(\s*[-*+])\s/.test(lines[i])) {
|
|
161
|
-
const text = lines[i].replace(/^\s*[-*+]\s/, '')
|
|
162
|
-
items.push({ type: 'listItem', content: [{ type: 'paragraph', content: parseInline(text) }] })
|
|
163
|
-
i++
|
|
164
|
-
}
|
|
165
|
-
nodes.push({ type: 'bulletList', content: items })
|
|
166
|
-
continue
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
if (line.trim() === '') { i++; continue }
|
|
170
|
-
|
|
171
|
-
nodes.push({ type: 'paragraph', content: parseInline(line) })
|
|
172
|
-
i++
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
if (nodes.length === 0) nodes.push({ type: 'paragraph', content: [] })
|
|
176
|
-
return { type: 'doc', content: nodes }
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
// ── Document content ──────────────────────────────────────────────────────────
|
|
180
|
-
|
|
181
|
-
const EP1_MD = `# EP1 — Service Ordering Flow
|
|
182
|
-
|
|
183
|
-
## Architecture Flow
|
|
184
|
-
|
|
185
|
-
\`\`\`mermaid
|
|
186
|
-
flowchart TD
|
|
187
|
-
A([Patient Opens App]) --> B{What to order?}
|
|
188
|
-
|
|
189
|
-
B --> C[Health Packages\\ne.g. Full Body, Cardiac]
|
|
190
|
-
B --> D[Individual Lab Tests\\ne.g. CBC, HbA1c]
|
|
191
|
-
|
|
192
|
-
C --> E[Browse Catalogue]
|
|
193
|
-
D --> E
|
|
194
|
-
|
|
195
|
-
E --> F[Select Service]
|
|
196
|
-
F --> G[Select Patient\\nSelf or Family Member]
|
|
197
|
-
G --> H{Home Collection\\nAvailable?}
|
|
198
|
-
|
|
199
|
-
H -- Yes --> I[Choose: Home / Walk-in]
|
|
200
|
-
H -- No --> J[Walk-in Only]
|
|
201
|
-
|
|
202
|
-
I --> K[Pick Date & Slot]
|
|
203
|
-
J --> K
|
|
204
|
-
|
|
205
|
-
K --> L[Review Order]
|
|
206
|
-
L --> M[Payment via Razorpay]
|
|
207
|
-
|
|
208
|
-
M -- Success --> N[Order Confirmed ✅]
|
|
209
|
-
M -- Failed --> O[Retry Payment ❌]
|
|
210
|
-
|
|
211
|
-
N --> P[Sync to HIS]
|
|
212
|
-
N --> Q[Push Notification Sent]
|
|
213
|
-
N --> R[Order Tracking Active]
|
|
214
|
-
|
|
215
|
-
R --> S[CONFIRMED]
|
|
216
|
-
S --> T[SAMPLE COLLECTED]
|
|
217
|
-
T --> U[PROCESSING]
|
|
218
|
-
U --> V[REPORT READY 🎉]
|
|
219
|
-
V --> W[View Report in App]
|
|
220
|
-
\`\`\`
|
|
221
|
-
|
|
222
|
-
## Business Rules
|
|
223
|
-
|
|
224
|
-
| Rule | Detail |
|
|
225
|
-
|------|--------|
|
|
226
|
-
| Service visibility | Only services flagged \`canBeOrderedFromApp: true\` in HIS |
|
|
227
|
-
| Home collection | Checked per service + patient pin code |
|
|
228
|
-
| Payment | Mandatory before order confirmation |
|
|
229
|
-
| HIS sync | All orders synced back to HIS for lab/collection team |
|
|
230
|
-
| Family orders | All linked family members eligible |
|
|
231
|
-
`
|
|
232
|
-
|
|
233
|
-
const EP2_MD = `# EP2 — Medicine Ordering & Refills
|
|
234
|
-
|
|
235
|
-
## Flow
|
|
236
|
-
|
|
237
|
-
\`\`\`mermaid
|
|
238
|
-
flowchart TD
|
|
239
|
-
A([Entry Point]) --> B{Source}
|
|
240
|
-
|
|
241
|
-
B -- From Visit --> C[Prescription Medicines]
|
|
242
|
-
B -- Past Order --> D[Order History]
|
|
243
|
-
B -- Refill Reminder --> E[Refill Screen]
|
|
244
|
-
|
|
245
|
-
C --> F[Medicine List]
|
|
246
|
-
D --> F
|
|
247
|
-
E --> F
|
|
248
|
-
|
|
249
|
-
F --> G{Medicine Type?}
|
|
250
|
-
|
|
251
|
-
G -- OTC --> H[✅ Allow Order\\nNo Rx needed]
|
|
252
|
-
G -- Rx-Required --> I{Valid Prescription\\nExists?}
|
|
253
|
-
|
|
254
|
-
I -- Yes, Active --> J{Is it a Refill?}
|
|
255
|
-
I -- No / Expired --> K[❌ BLOCKED\\nShow: Prescription required\\nOffer: Book Follow-up]
|
|
256
|
-
|
|
257
|
-
J -- Within Validity --> L[✅ Allow Refill]
|
|
258
|
-
J -- Expired --> M[❌ BLOCKED\\nShow: Prescription expired\\nOffer: Book Follow-up]
|
|
259
|
-
|
|
260
|
-
H --> N[Select Patient]
|
|
261
|
-
L --> N
|
|
262
|
-
|
|
263
|
-
N --> O[Choose Delivery Address\\nSaved or New]
|
|
264
|
-
O --> P[Review Cart]
|
|
265
|
-
P --> Q[Payment]
|
|
266
|
-
|
|
267
|
-
Q -- Success --> R[Order Confirmed ✅]
|
|
268
|
-
Q -- Failed --> S[Retry ❌]
|
|
269
|
-
|
|
270
|
-
R --> T[PENDING]
|
|
271
|
-
T --> U[CONFIRMED]
|
|
272
|
-
U --> V[DISPATCHED 🚚]
|
|
273
|
-
V --> W[DELIVERED 🎉]
|
|
274
|
-
\`\`\`
|
|
275
|
-
|
|
276
|
-
## Prescription Validation Matrix
|
|
277
|
-
|
|
278
|
-
| Medicine Type | Valid Rx | Expired Rx | No Rx |
|
|
279
|
-
|--------------|----------|------------|-------|
|
|
280
|
-
| Rx-Required | ✅ Allow | ❌ Block + suggest follow-up | ❌ Block |
|
|
281
|
-
| OTC | ✅ Allow | ✅ Allow | ✅ Allow |
|
|
282
|
-
| Refill | ✅ Allow (within validity) | ❌ Block | ❌ Block |
|
|
283
|
-
|
|
284
|
-
## Business Rules
|
|
285
|
-
|
|
286
|
-
- Prescription validity period set at time of issue (30 / 60 / 90 days)
|
|
287
|
-
- Partial orders allowed: OTC items proceed even if Rx items are blocked
|
|
288
|
-
- Expired prescription → prompt to book a follow-up appointment
|
|
289
|
-
- All orders linked to patient + family member context
|
|
290
|
-
`
|
|
291
|
-
|
|
292
|
-
const EP3_MD = `# EP3 — Deep Linking Architecture
|
|
293
|
-
|
|
294
|
-
## Link Resolution Flow
|
|
295
|
-
|
|
296
|
-
\`\`\`mermaid
|
|
297
|
-
flowchart TD
|
|
298
|
-
A([Link Received\\nSMS / WhatsApp / Email / Push]) --> B[Smart Link URL\\nhttps://novacare.medicsprime.in/link/...]
|
|
299
|
-
|
|
300
|
-
B --> C{App Installed?}
|
|
301
|
-
|
|
302
|
-
C -- Yes --> D[Open Native App\\niOS Universal Link\\nAndroid App Link]
|
|
303
|
-
C -- No --> E[Open in Browser\\nWeb Fallback]
|
|
304
|
-
|
|
305
|
-
D --> F[Native Deep Link Handler]
|
|
306
|
-
F --> G{Authenticated?}
|
|
307
|
-
|
|
308
|
-
G -- Yes --> L[Route to Screen]
|
|
309
|
-
G -- No --> H[OTP Login\\nPre-fill phone if known]
|
|
310
|
-
H --> L
|
|
311
|
-
|
|
312
|
-
E --> I{Auto-Login Token\\nin URL?}
|
|
313
|
-
|
|
314
|
-
I -- Valid Token --> J[Auto-Login\\nSingle-use, 24h expiry]
|
|
315
|
-
I -- No / Expired --> K[OTP Login Page\\nPre-fill phone if known]
|
|
316
|
-
|
|
317
|
-
J --> L
|
|
318
|
-
K --> L
|
|
319
|
-
|
|
320
|
-
L --> M{Link Type}
|
|
321
|
-
|
|
322
|
-
M -- /book --> N[Appointment Booking\\npre-filled doctor/speciality]
|
|
323
|
-
M -- /apt --> O[Appointment Detail]
|
|
324
|
-
M -- /rx --> P[Prescription View]
|
|
325
|
-
M -- /report --> Q[Lab Report View]
|
|
326
|
-
M -- /package --> R[Health Package Order]
|
|
327
|
-
M -- /refill --> S[Medicine Refill Flow]
|
|
328
|
-
M -- /bill --> T[Bill & Payment]
|
|
329
|
-
\`\`\`
|
|
330
|
-
|
|
331
|
-
## Link Format
|
|
332
|
-
|
|
333
|
-
\`\`\`
|
|
334
|
-
https://{hospital}.medicsprime.in/link/{type}?id={resourceId}&t={autoLoginToken}&ph={phoneHint}
|
|
335
|
-
\`\`\`
|
|
336
|
-
|
|
337
|
-
| Parameter | Description |
|
|
338
|
-
|-----------|-------------|
|
|
339
|
-
| \`hospital\` | novacare / sarji / cura / khushi |
|
|
340
|
-
| \`type\` | apt / rx / report / package / refill / bill / book |
|
|
341
|
-
| \`id\` | Resource ID (optional for /book) |
|
|
342
|
-
| \`t\` | Auto-login token (24h, single-use, optional) |
|
|
343
|
-
| \`ph\` | Phone number hint for OTP pre-fill (optional) |
|
|
344
|
-
|
|
345
|
-
## Auto-Login Token Security
|
|
346
|
-
|
|
347
|
-
\`\`\`mermaid
|
|
348
|
-
flowchart LR
|
|
349
|
-
A[Token Generated] --> B[Signed with HMAC-SHA256]
|
|
350
|
-
B --> C[Contains: userId + expiry + resourceId]
|
|
351
|
-
C --> D[24-hour expiry]
|
|
352
|
-
D --> E[Single-use — invalidated on first use]
|
|
353
|
-
E --> F[Scoped to linked resource only]
|
|
354
|
-
\`\`\`
|
|
355
|
-
|
|
356
|
-
## Per-Hospital URL Schemes
|
|
357
|
-
|
|
358
|
-
| Hospital | Web Domain | Native Scheme |
|
|
359
|
-
|----------|-----------|---------------|
|
|
360
|
-
| NovaCare | novacare.medicsprime.in | novacare:// |
|
|
361
|
-
| Sarji | sarji.medicsprime.in | sarji:// |
|
|
362
|
-
| Cura | cura.medicsprime.in | cura:// |
|
|
363
|
-
| Khushi | khushi.medicsprime.in | khushi:// |
|
|
364
|
-
`
|
|
365
|
-
|
|
366
|
-
const EP4_MD = `# EP4 — Push Notifications
|
|
367
|
-
|
|
368
|
-
## Notification Delivery Architecture
|
|
369
|
-
|
|
370
|
-
\`\`\`mermaid
|
|
371
|
-
flowchart TD
|
|
372
|
-
A([Trigger]) --> B{Trigger Type}
|
|
373
|
-
|
|
374
|
-
B -- Hospital Event --> C[Appointment Confirmed\\nCancelled / Lab Ready\\nPrescription Ready\\nBill Generated]
|
|
375
|
-
B -- Scheduled Job --> D[Appointment Reminder\\nMedicine Dose\\nRefill Due\\nRx Expiry\\nCheckup Due]
|
|
376
|
-
B -- Patient Action --> E[Payment Success\\nOrder Placed\\nMedicine Ordered]
|
|
377
|
-
|
|
378
|
-
C --> F[Notification Engine\\nBackend Service]
|
|
379
|
-
D --> F
|
|
380
|
-
E --> F
|
|
381
|
-
|
|
382
|
-
F --> G{Check Opt-in\\nPreferences}
|
|
383
|
-
G -- Opted Out --> Z[Skip ✗]
|
|
384
|
-
G -- Opted In --> H{Quiet Hours?\\n10pm – 7am}
|
|
385
|
-
|
|
386
|
-
H -- Critical Alert --> I[Send Immediately\\nAppt Cancelled only]
|
|
387
|
-
H -- Non-Critical + Quiet --> J[Queue for 7am]
|
|
388
|
-
H -- Normal Hours --> K{Daily Limit\\nReached? max 3}
|
|
389
|
-
|
|
390
|
-
K -- Under Limit --> L[Send Now]
|
|
391
|
-
K -- At Limit --> M[Queue for Next Day]
|
|
392
|
-
|
|
393
|
-
I --> N[FCM / Firebase]
|
|
394
|
-
J --> N
|
|
395
|
-
L --> N
|
|
396
|
-
|
|
397
|
-
N --> O{Platform}
|
|
398
|
-
O -- iOS/Android --> P[Capacitor Push\\nNative Alert]
|
|
399
|
-
O -- Web --> Q[Firebase VAPID\\nBrowser Notification]
|
|
400
|
-
O -- Critical Only --> R[SMS Fallback\\nvia Communication Service]
|
|
401
|
-
|
|
402
|
-
P --> S[Tap → Deep Link\\nto Relevant Screen]
|
|
403
|
-
Q --> S
|
|
404
|
-
\`\`\`
|
|
405
|
-
|
|
406
|
-
## All Notification Scenarios
|
|
407
|
-
|
|
408
|
-
\`\`\`mermaid
|
|
409
|
-
mindmap
|
|
410
|
-
root((Push\\nNotifications))
|
|
411
|
-
Appointments
|
|
412
|
-
Confirmed ✅
|
|
413
|
-
Reminder 24h ⏰
|
|
414
|
-
Reminder 2h ⏰
|
|
415
|
-
Cancelled ❗
|
|
416
|
-
Rescheduled ❗
|
|
417
|
-
Doctor Late 🕐
|
|
418
|
-
Lab and Reports
|
|
419
|
-
Lab Result Ready 📋
|
|
420
|
-
Prescription Ready 💊
|
|
421
|
-
Home Collection Morning 🏠
|
|
422
|
-
Order Confirmed 📦
|
|
423
|
-
Medicine
|
|
424
|
-
Dose Reminder 💊
|
|
425
|
-
Missed Dose ⚠️
|
|
426
|
-
Refill Due 🔄
|
|
427
|
-
Rx Expiry 7 days 📅
|
|
428
|
-
Order Dispatched 🚚
|
|
429
|
-
Order Delivered 🎉
|
|
430
|
-
Billing
|
|
431
|
-
Bill Generated 💰
|
|
432
|
-
Payment Success ✅
|
|
433
|
-
Payment Due ⏳
|
|
434
|
-
Preventive Health
|
|
435
|
-
Annual Checkup 📅
|
|
436
|
-
Follow-up Due 👨⚕️
|
|
437
|
-
Vaccination Due 💉
|
|
438
|
-
\`\`\`
|
|
439
|
-
|
|
440
|
-
## Notification Preferences
|
|
441
|
-
|
|
442
|
-
\`\`\`mermaid
|
|
443
|
-
flowchart LR
|
|
444
|
-
A[Patient Settings] --> B[Notification Preferences]
|
|
445
|
-
B --> C[🔔 Appointments\\nDefault: ON]
|
|
446
|
-
B --> D[💊 Medicine\\nDefault: ON]
|
|
447
|
-
B --> E[📦 Orders\\nDefault: ON]
|
|
448
|
-
B --> F[💰 Billing\\nDefault: ON]
|
|
449
|
-
B --> G[🏥 Preventive Health\\nDefault: ON]
|
|
450
|
-
B --> H[📣 Promotional\\nDefault: OFF]
|
|
451
|
-
\`\`\`
|
|
452
|
-
|
|
453
|
-
## Scenario Reference Table
|
|
454
|
-
|
|
455
|
-
| Scenario | Trigger | Channel | Priority | Deep Link |
|
|
456
|
-
|----------|---------|---------|----------|-----------|
|
|
457
|
-
| Appt Confirmed | Event | Push | High | /apt?id=X |
|
|
458
|
-
| Appt Reminder 24h | Scheduled | Push + SMS | High | /apt?id=X |
|
|
459
|
-
| Appt Reminder 2h | Scheduled | Push | High | /apt?id=X |
|
|
460
|
-
| Appt Cancelled | Event | Push + SMS | **Critical** | /apt?id=X |
|
|
461
|
-
| Doctor Running Late | Event | Push | Normal | /apt?id=X |
|
|
462
|
-
| Lab Result Ready | Event | Push | High | /report?id=X |
|
|
463
|
-
| Prescription Ready | Event | Push | High | /rx?id=X |
|
|
464
|
-
| Medicine Dose Due | Scheduled | Push | Normal | Reminder |
|
|
465
|
-
| Missed Dose | Scheduled | Push | Normal | Reminder |
|
|
466
|
-
| Refill Due | Scheduled | Push | High | /refill?med=X |
|
|
467
|
-
| Rx Expiry (7 days) | Scheduled | Push | High | /rx?id=X |
|
|
468
|
-
| Bill Generated | Event | Push | High | /bill?id=X |
|
|
469
|
-
| Payment Success | Event | Push | Normal | /bill?id=X |
|
|
470
|
-
| Payment Due | Scheduled | Push | Normal | /bill?id=X |
|
|
471
|
-
| Annual Checkup | Scheduled | Push | Low | Book |
|
|
472
|
-
| Follow-up Due | Scheduled | Push | Normal | Book |
|
|
473
|
-
| Vaccination Due | Scheduled | Push | Normal | Reminder |
|
|
474
|
-
`
|
|
475
|
-
|
|
476
|
-
// ── Document IDs (created in previous session) ────────────────────────────────
|
|
477
|
-
const DOCS = [
|
|
478
|
-
{ id: '69b9a635cf60316d6ce21a50', title: 'EP1 — Service Ordering', md: EP1_MD },
|
|
479
|
-
{ id: '69b9a63bcf60316d6ce21a52', title: 'EP2 — Medicine Ordering', md: EP2_MD },
|
|
480
|
-
{ id: '69b9a640cf60316d6ce21a54', title: 'EP3 — Deep Linking', md: EP3_MD },
|
|
481
|
-
{ id: '69b9a645cf60316d6ce21a56', title: 'EP4 — Push Notifications', md: EP4_MD }
|
|
482
|
-
]
|
|
483
|
-
|
|
484
|
-
// ── Main ──────────────────────────────────────────────────────────────────────
|
|
485
|
-
|
|
486
|
-
const { txClient, rawConnection, wsToken, workspaceUuid } = await connect()
|
|
487
|
-
console.log(`Connected. Workspace UUID: ${workspaceUuid}`)
|
|
488
|
-
|
|
489
|
-
for (const { id, title, md } of DOCS) {
|
|
490
|
-
process.stdout.write(`Updating "${title}" ... `)
|
|
491
|
-
try {
|
|
492
|
-
const doc = await txClient.findOne(document.class.Document, { _id: id })
|
|
493
|
-
if (!doc) { console.log('NOT FOUND — skipping'); continue }
|
|
494
|
-
|
|
495
|
-
const prosemirror = markdownToProseMirror(md)
|
|
496
|
-
const blobId = await uploadContent(wsToken, workspaceUuid, id, JSON.stringify(prosemirror))
|
|
497
|
-
await txClient.updateDoc(document.class.Document, doc.space, doc._id, { content: blobId })
|
|
498
|
-
console.log(`✅ blob: ${blobId}`)
|
|
499
|
-
} catch (err) {
|
|
500
|
-
console.log(`❌ ${err.message}`)
|
|
501
|
-
}
|
|
502
|
-
}
|
|
503
|
-
|
|
504
|
-
await rawConnection.close()
|
|
505
|
-
console.log('\nDone.')
|