huly-mcp-sdk 0.4.0 → 0.5.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 CHANGED
@@ -6,7 +6,7 @@ Connects **Claude Desktop** (and any [MCP](https://modelcontextprotocol.io)-comp
6
6
 
7
7
  ---
8
8
 
9
- ## Tools (31 total)
9
+ ## Tools (32 total)
10
10
 
11
11
  | Category | Tool | Description |
12
12
  |----------|------|-------------|
@@ -37,6 +37,7 @@ Connects **Claude Desktop** (and any [MCP](https://modelcontextprotocol.io)-comp
37
37
  | | `list_documents` | List documents in a teamspace |
38
38
  | | `get_document` | Get document metadata + content (see [Document content](#document-content)) |
39
39
  | | `create_document` | Create a new document in a teamspace |
40
+ | | `update_document` | Set document content from Markdown — renders Mermaid diagrams natively (see [Document content](#document-content)) |
40
41
  | **Search** | `search_issues` | Full-text search across all issues |
41
42
 
42
43
  ---
@@ -92,6 +93,7 @@ Restart Claude Desktop after saving.
92
93
  > Then use `"command": "node", "args": ["/absolute/path/to/huly-mcp/dist/index.js"]` in your config.
93
94
 
94
95
  ---
96
+ <img width="932" height="401" alt="image" src="https://github.com/user-attachments/assets/0f9d9a74-ca1e-4884-bd6a-918c0fb8ddbd" />
95
97
 
96
98
  ## Example Prompts
97
99
 
@@ -124,12 +126,31 @@ Restart Claude Desktop after saving.
124
126
  - *"List all documents in the Engineering teamspace"*
125
127
  - *"Create a document called 'API Design' in the Engineering teamspace"*
126
128
  - *"Get the content of document abc123"*
129
+ - *"Update document abc123 with this Markdown content: ..."*
130
+ - *"Add a Mermaid flowchart to the EP1 document"*
127
131
 
128
132
  ---
129
133
 
130
134
  ## Document Content
131
135
 
132
- Document content in Huly is stored in a collaborative editing layer (not inline in the database). `get_document` always returns full metadata. To also fetch and read the **text content**, set the optional `HULY_FRONT_URL` env var:
136
+ Document content in Huly is stored in a collaborative editing layer (not inline in the database). `get_document` always returns full metadata. To also fetch and read the **text content**, set the optional `HULY_FRONT_URL` env var.
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
147
+
148
+ ```
149
+ update_document({
150
+ documentId: "abc123",
151
+ markdown: "# My Doc\n\n```mermaid\nflowchart TD\n A --> B\n```"
152
+ })
153
+ ```
133
154
 
134
155
  ```json
135
156
  "env": {
package/dist/schemas.d.ts CHANGED
@@ -279,3 +279,13 @@ export declare const LogTimeSchema: z.ZodObject<{
279
279
  hours: number;
280
280
  description?: string | undefined;
281
281
  }>;
282
+ export declare const UpdateDocumentSchema: z.ZodObject<{
283
+ documentId: z.ZodString;
284
+ markdown: z.ZodString;
285
+ }, "strip", z.ZodTypeAny, {
286
+ documentId: string;
287
+ markdown: string;
288
+ }, {
289
+ documentId: string;
290
+ markdown: string;
291
+ }>;
package/dist/schemas.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- 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.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({
@@ -116,4 +116,8 @@ exports.LogTimeSchema = zod_1.z.object({
116
116
  hours: zod_1.z.number().positive().describe('Hours spent (e.g. 2.5)'),
117
117
  description: zod_1.z.string().optional().describe('What was done (optional note)')
118
118
  });
119
+ exports.UpdateDocumentSchema = zod_1.z.object({
120
+ documentId: zod_1.z.string().describe('Document _id from list_documents or create_document'),
121
+ markdown: zod_1.z.string().min(1).describe('Markdown content to set as the document body')
122
+ });
119
123
  //# sourceMappingURL=schemas.js.map
@@ -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
@@ -53,6 +53,7 @@ function createServer() {
53
53
  server.tool('list_documents', 'List documents in a teamspace', schemas_1.ListDocumentsSchema.shape, documents_1.listDocuments);
54
54
  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
55
  server.tool('create_document', 'Create a new document in a teamspace', schemas_1.CreateDocumentSchema.shape, documents_1.createDocument);
56
+ 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);
56
57
  // Search
57
58
  server.tool('search_issues', 'Full-text search across all issues', schemas_1.SearchIssuesSchema.shape, search_1.searchIssues);
58
59
  return server;
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -30,3 +30,12 @@ export declare const createDocument: (args: {
30
30
  text: string;
31
31
  }>;
32
32
  }>;
33
+ export declare const updateDocument: (args: {
34
+ documentId: string;
35
+ markdown: string;
36
+ }) => Promise<{
37
+ content: Array<{
38
+ type: "text";
39
+ text: string;
40
+ }>;
41
+ }>;
@@ -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.createDocument = exports.getDocument = exports.listDocuments = exports.listTeamspaces = void 0;
6
+ 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");
@@ -111,6 +111,157 @@ exports.createDocument = (0, errors_1.wrapToolHandler)(async (args) => {
111
111
  }, docId);
112
112
  return `✅ Document **"${args.title}"** created (id: \`${docId}\`) in teamspace "${teamspace.name}".\nOpen it in Huly to add content via the editor.`;
113
113
  });
114
+ const DATALAKE_URL = 'https://dl-eu.huly.app';
115
+ exports.updateDocument = (0, errors_1.wrapToolHandler)(async (args) => {
116
+ const client = await (0, connection_1.getConnection)();
117
+ const { wsToken, workspaceUuid } = await (0, connection_1.getWorkspaceInfo)();
118
+ const doc = await client.findOne(document_1.default.class.Document, { _id: args.documentId });
119
+ if (doc == null)
120
+ throw new Error(`Document '${args.documentId}' not found.`);
121
+ // Convert markdown to ProseMirror JSON
122
+ const prosemirror = markdownToProseMirror(args.markdown);
123
+ const content = JSON.stringify(prosemirror);
124
+ // Upload to datalake
125
+ const blobId = `${args.documentId}-content-${Date.now()}`;
126
+ const form = new FormData();
127
+ form.append('file', new Blob([content], { type: 'application/json' }), blobId);
128
+ const uploadUrl = `${DATALAKE_URL}/upload/form-data/${workspaceUuid}`;
129
+ const uploadRes = await fetch(uploadUrl, {
130
+ method: 'POST',
131
+ headers: { Authorization: `Bearer ${wsToken}` },
132
+ body: form
133
+ });
134
+ if (!uploadRes.ok) {
135
+ const body = await uploadRes.text().catch(() => '');
136
+ throw new Error(`Datalake upload failed (${uploadRes.status}): ${body}`);
137
+ }
138
+ const uploadJson = await uploadRes.json();
139
+ const uploadedId = uploadJson[0]?.id ?? blobId;
140
+ // Update document content ref
141
+ await client.updateDoc(document_1.default.class.Document, doc.space, doc._id, { content: uploadedId });
142
+ return `✅ Document **"${doc.title}"** updated (blob: \`${uploadedId}\`).`;
143
+ });
144
+ function markdownToProseMirror(md) {
145
+ const lines = md.split('\n');
146
+ const nodes = [];
147
+ let i = 0;
148
+ while (i < lines.length) {
149
+ const line = lines[i];
150
+ // Fenced code block
151
+ if (line.startsWith('```')) {
152
+ const lang = line.slice(3).trim();
153
+ const codeLines = [];
154
+ i++;
155
+ while (i < lines.length && !lines[i].startsWith('```')) {
156
+ codeLines.push(lines[i]);
157
+ i++;
158
+ }
159
+ i++; // skip closing ```
160
+ // Use Huly's native 'mermaid' node type so diagrams render properly
161
+ const nodeType = lang === 'mermaid' ? 'mermaid' : 'codeBlock';
162
+ nodes.push({
163
+ type: nodeType,
164
+ attrs: { language: lang !== '' ? lang : null },
165
+ content: [{ type: 'text', text: codeLines.join('\n') }]
166
+ });
167
+ continue;
168
+ }
169
+ // Heading
170
+ const headingMatch = line.match(/^(#{1,6})\s+(.+)$/);
171
+ if (headingMatch != null) {
172
+ nodes.push({
173
+ type: 'heading',
174
+ attrs: { level: headingMatch[1].length },
175
+ content: parseInline(headingMatch[2])
176
+ });
177
+ i++;
178
+ continue;
179
+ }
180
+ // Table (Markdown pipe table)
181
+ if (line.includes('|') && line.trim().startsWith('|')) {
182
+ const tableRows = [];
183
+ while (i < lines.length && lines[i].includes('|') && lines[i].trim().startsWith('|')) {
184
+ const row = lines[i].trim().replace(/^\||\|$/g, '').split('|').map((c) => c.trim());
185
+ // Skip separator rows like |---|---|
186
+ if (!row.every((c) => /^[-:]+$/.test(c))) {
187
+ tableRows.push(row);
188
+ }
189
+ i++;
190
+ }
191
+ if (tableRows.length > 0) {
192
+ nodes.push(buildTable(tableRows));
193
+ }
194
+ continue;
195
+ }
196
+ // Bullet list
197
+ if (/^(\s*[-*+])\s/.test(line)) {
198
+ const items = [];
199
+ while (i < lines.length && /^(\s*[-*+])\s/.test(lines[i])) {
200
+ const text = lines[i].replace(/^\s*[-*+]\s/, '');
201
+ items.push({
202
+ type: 'listItem',
203
+ content: [{ type: 'paragraph', content: parseInline(text) }]
204
+ });
205
+ i++;
206
+ }
207
+ nodes.push({ type: 'bulletList', content: items });
208
+ continue;
209
+ }
210
+ // Blank line → skip
211
+ if (line.trim() === '') {
212
+ i++;
213
+ continue;
214
+ }
215
+ // Default paragraph
216
+ nodes.push({ type: 'paragraph', content: parseInline(line) });
217
+ i++;
218
+ }
219
+ if (nodes.length === 0) {
220
+ nodes.push({ type: 'paragraph', content: [] });
221
+ }
222
+ return { type: 'doc', content: nodes };
223
+ }
224
+ function parseInline(text) {
225
+ const nodes = [];
226
+ // Handle **bold**, `code`, plain text
227
+ const re = /\*\*(.+?)\*\*|`(.+?)`|([^`*]+)/g;
228
+ let m;
229
+ while ((m = re.exec(text)) !== null) {
230
+ if (m[1] != null) {
231
+ nodes.push({ type: 'text', text: m[1], marks: [{ type: 'bold' }] });
232
+ }
233
+ else if (m[2] != null) {
234
+ nodes.push({ type: 'text', text: m[2], marks: [{ type: 'code' }] });
235
+ }
236
+ else if (m[3] != null && m[3].length > 0) {
237
+ nodes.push({ type: 'text', text: m[3] });
238
+ }
239
+ }
240
+ return nodes.length > 0 ? nodes : [{ type: 'text', text }];
241
+ }
242
+ function buildTable(rows) {
243
+ const [headerRow, ...bodyRows] = rows;
244
+ const tableRows = [];
245
+ if (headerRow != null) {
246
+ tableRows.push({
247
+ type: 'tableRow',
248
+ content: headerRow.map((cell) => ({
249
+ type: 'tableHeader',
250
+ content: [{ type: 'paragraph', content: parseInline(cell) }]
251
+ }))
252
+ });
253
+ }
254
+ for (const row of bodyRows) {
255
+ tableRows.push({
256
+ type: 'tableRow',
257
+ content: row.map((cell) => ({
258
+ type: 'tableCell',
259
+ content: [{ type: 'paragraph', content: parseInline(cell) }]
260
+ }))
261
+ });
262
+ }
263
+ return { type: 'table', content: tableRows };
264
+ }
114
265
  // Helper: extract plain text from Huly's ProseMirror JSON markup
115
266
  function extractText(node) {
116
267
  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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"}
@@ -52,7 +52,7 @@ exports.listIssues = (0, errors_1.wrapToolHandler)(async (args) => {
52
52
  throw new Error(`Project '${args.projectIdentifier}' not found.`);
53
53
  const query = { space: project._id };
54
54
  if (args.status != null) {
55
- const status = await client.findOne(tracker_1.default.class.IssueStatus, { space: project._id, name: args.status });
55
+ const status = await client.findOne(tracker_1.default.class.IssueStatus, { name: args.status });
56
56
  if (status == null)
57
57
  throw new Error(`Status '${args.status}' not found in project '${args.projectIdentifier}'.`);
58
58
  query.status = status._id;
@@ -64,7 +64,7 @@ exports.listIssues = (0, errors_1.wrapToolHandler)(async (args) => {
64
64
  if (issues.length === 0)
65
65
  return `No issues found in project ${args.projectIdentifier}.`;
66
66
  // Resolve all statuses in one call
67
- const statuses = await client.findAll(tracker_1.default.class.IssueStatus, { space: project._id });
67
+ const statuses = await client.findAll(tracker_1.default.class.IssueStatus, {});
68
68
  const statusMap = new Map(statuses.map((s) => [s._id, s.name]));
69
69
  const lines = issues.map((issue) => {
70
70
  const statusName = statusMap.get(issue.status) ?? 'Unknown';
@@ -101,7 +101,7 @@ exports.createIssue = (0, errors_1.wrapToolHandler)(async (args) => {
101
101
  const issueNumber = incResult?.object?.sequence ?? project.sequence + 1;
102
102
  const identifier = `${project.identifier}-${issueNumber}`;
103
103
  // 3. Resolve status
104
- const statuses = await client.findAll(tracker_1.default.class.IssueStatus, { space: project._id });
104
+ const statuses = await client.findAll(tracker_1.default.class.IssueStatus, {});
105
105
  const status = args.statusName != null
106
106
  ? (statuses.find((s) => s.name === args.statusName) ?? statuses[0])
107
107
  : (project.defaultIssueStatus != null
@@ -160,7 +160,7 @@ exports.updateIssue = (0, errors_1.wrapToolHandler)(async (args) => {
160
160
  if (args.title != null)
161
161
  updates.title = args.title;
162
162
  if (args.statusName != null) {
163
- const status = await client.findOne(tracker_1.default.class.IssueStatus, { space: issue.space, name: args.statusName });
163
+ const status = await client.findOne(tracker_1.default.class.IssueStatus, { name: args.statusName });
164
164
  if (status == null)
165
165
  throw new Error(`Status '${args.statusName}' not found.`);
166
166
  updates.status = status._id;
@@ -1 +1 @@
1
- {"version":3,"file":"issues.js","sourceRoot":"","sources":["../../src/tools/issues.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"issues.js","sourceRoot":"","sources":["../../src/tools/issues.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,7 @@ exports.getProject = (0, errors_1.wrapToolHandler)(async (args) => {
23
23
  const project = await client.findOne(tracker_1.default.class.Project, { identifier: args.identifier });
24
24
  if (project == null)
25
25
  throw new Error(`Project '${args.identifier}' not found.`);
26
- const statuses = await client.findAll(tracker_1.default.class.IssueStatus, { space: project._id });
26
+ const statuses = await client.findAll(tracker_1.default.class.IssueStatus, {});
27
27
  const statusList = statuses.map((s) => ` - ${s.name}`).join('\n');
28
28
  return [
29
29
  `## Project: ${project.identifier}`,
@@ -55,7 +55,7 @@ exports.createProject = (0, errors_1.wrapToolHandler)(async (args) => {
55
55
  defaultTimeReportDay: 'CurrentWorkDay',
56
56
  defaultIssueStatus: undefined,
57
57
  type: projectType._id,
58
- members: [],
58
+ members: [client.user],
59
59
  archived: false,
60
60
  private: false
61
61
  }, projectId);
@@ -1 +1 @@
1
- {"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/tools/projects.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/tools/projects.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "huly-mcp-sdk",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "MCP server for Huly — connect Claude Desktop to your Huly workspace via the native WebSocket SDK",
5
5
  "keywords": [
6
6
  "huly",
@@ -0,0 +1,70 @@
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.')
@@ -0,0 +1,73 @@
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.')
@@ -0,0 +1,505 @@
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.')