autoproject-mcp 1.1.0 → 1.3.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.
@@ -1,15 +1,15 @@
1
1
  "use strict";
2
2
  /**
3
- * MCP Tools: Application listing and feature/sub-feature application-link management.
3
+ * MCP Tools: Application listing and feature-group / feature application-link management.
4
4
  *
5
5
  * IDE agents use these tools to:
6
6
  * 1. Discover what applications exist in a product.
7
- * 2. Read which applications a feature or sub-feature is currently linked to.
8
- * 3. Replace the application links for a feature or sub-feature.
7
+ * 2. Read which applications a feature group or feature is currently linked to.
8
+ * 3. Replace the application links for a feature group or feature.
9
9
  *
10
10
  * Terminology (aligned with AGENTS.md):
11
- * "feature" = FeatureGroup (Feature Group in UI)
12
- * "sub-feature" = Feature (Feature in UI)
11
+ * "feature group" = FeatureGroup (Feature Group in UI)
12
+ * "feature" = Feature (Feature in UI)
13
13
  *
14
14
  * Link operations are replace-semantics (idempotent PUT):
15
15
  * Providing an empty applicationIds array removes all links.
@@ -24,7 +24,7 @@ exports.applicationToolDefinitions = [
24
24
  name: 'list_applications',
25
25
  description: 'List all applications (services, frontends, APIs, etc.) defined for a product. ' +
26
26
  'Returns application id, name, applicationType, platform, and architecture pattern. ' +
27
- 'Use this first to discover valid applicationIds before calling set_feature_applications or set_subfeature_applications.',
27
+ 'Use this first to discover valid applicationIds before calling set_feature_group_applications or set_feature_applications.',
28
28
  inputSchema: {
29
29
  type: 'object',
30
30
  properties: {
@@ -34,67 +34,67 @@ exports.applicationToolDefinitions = [
34
34
  },
35
35
  },
36
36
  {
37
- name: 'get_feature_applications',
38
- description: 'Get the list of applications currently linked to a feature (Feature Group). ' +
37
+ name: 'get_feature_group_applications',
38
+ description: 'Get the list of applications currently linked to a feature group. ' +
39
39
  'Returns the same application objects as list_applications but filtered to only those linked.',
40
40
  inputSchema: {
41
41
  type: 'object',
42
42
  properties: {
43
43
  productId: { type: 'string', description: 'Product UUID. Defaults to AUTOPROJECT_PRODUCT_ID env.' },
44
- featureId: { type: 'string', description: 'Feature (FeatureGroup) UUID.' },
44
+ featureGroupId: { type: 'string', description: 'Feature Group UUID.' },
45
45
  },
46
- required: ['featureId'],
46
+ required: ['featureGroupId'],
47
47
  },
48
48
  },
49
49
  {
50
- name: 'set_feature_applications',
51
- description: 'Replace the full set of application links for a feature (Feature Group). ' +
50
+ name: 'set_feature_group_applications',
51
+ description: 'Replace the full set of application links for a feature group. ' +
52
52
  'This is a replace operation — provide the complete desired list of applicationIds. ' +
53
53
  'Pass an empty array to remove all links. Call list_applications first to get valid applicationIds.',
54
54
  inputSchema: {
55
55
  type: 'object',
56
56
  properties: {
57
57
  productId: { type: 'string', description: 'Product UUID. Defaults to AUTOPROJECT_PRODUCT_ID env.' },
58
- featureId: { type: 'string', description: 'Feature (FeatureGroup) UUID.' },
58
+ featureGroupId: { type: 'string', description: 'Feature Group UUID.' },
59
59
  applicationIds: {
60
60
  type: 'array',
61
61
  items: { type: 'string' },
62
62
  description: 'Complete list of application UUIDs to link. Replaces any existing links.',
63
63
  },
64
64
  },
65
- required: ['featureId', 'applicationIds'],
65
+ required: ['featureGroupId', 'applicationIds'],
66
66
  },
67
67
  },
68
68
  {
69
- name: 'get_subfeature_applications',
70
- description: 'Get the list of applications currently linked to a sub-feature (Feature in UI). ' +
71
- 'Returns application objects filtered to only those linked to the given sub-feature.',
69
+ name: 'get_feature_applications',
70
+ description: 'Get the list of applications currently linked to a feature. ' +
71
+ 'Returns application objects filtered to only those linked to the given feature.',
72
72
  inputSchema: {
73
73
  type: 'object',
74
74
  properties: {
75
75
  productId: { type: 'string', description: 'Product UUID. Defaults to AUTOPROJECT_PRODUCT_ID env.' },
76
- subFeatureId: { type: 'string', description: 'Sub-feature (Feature) UUID.' },
76
+ featureId: { type: 'string', description: 'Feature UUID (third hierarchy level).' },
77
77
  },
78
- required: ['subFeatureId'],
78
+ required: ['featureId'],
79
79
  },
80
80
  },
81
81
  {
82
- name: 'set_subfeature_applications',
83
- description: 'Replace the full set of application links for a sub-feature (Feature in UI). ' +
82
+ name: 'set_feature_applications',
83
+ description: 'Replace the full set of application links for a feature. ' +
84
84
  'This is a replace operation — provide the complete desired list of applicationIds. ' +
85
85
  'Pass an empty array to remove all links. Call list_applications first to get valid applicationIds.',
86
86
  inputSchema: {
87
87
  type: 'object',
88
88
  properties: {
89
89
  productId: { type: 'string', description: 'Product UUID. Defaults to AUTOPROJECT_PRODUCT_ID env.' },
90
- subFeatureId: { type: 'string', description: 'Sub-feature (Feature) UUID.' },
90
+ featureId: { type: 'string', description: 'Feature UUID (third hierarchy level).' },
91
91
  applicationIds: {
92
92
  type: 'array',
93
93
  items: { type: 'string' },
94
94
  description: 'Complete list of application UUIDs to link. Replaces any existing links.',
95
95
  },
96
96
  },
97
- required: ['subFeatureId', 'applicationIds'],
97
+ required: ['featureId', 'applicationIds'],
98
98
  },
99
99
  },
100
100
  ];
@@ -113,6 +113,26 @@ async function handleApplicationTool(toolName, args) {
113
113
  const lines = apps.map((a) => `[${a.id}] ${a.name}\n Type: ${a.applicationType ?? 'N/A'} | Platform: ${a.platform ?? 'N/A'} | Architecture: ${a.architecturePattern ?? 'N/A'}${a.description ? `\n ${a.description}` : ''}`);
114
114
  return { content: [{ type: 'text', text: `Applications (${apps.length}):\n\n${lines.join('\n\n')}` }] };
115
115
  }
116
+ case 'get_feature_group_applications': {
117
+ const featureGroupId = args.featureGroupId;
118
+ if (!featureGroupId)
119
+ return { content: [{ type: 'text', text: 'Error: featureGroupId is required.' }] };
120
+ const data = await (0, client_js_1.apiGet)(`/products/${productId}/feature-groups/${featureGroupId}/applications`, {});
121
+ const apps = data?.items ?? [];
122
+ if (apps.length === 0) {
123
+ return { content: [{ type: 'text', text: 'No applications linked to this feature group.' }] };
124
+ }
125
+ const lines = apps.map((a) => `[${a.id}] ${a.name} (${a.applicationType ?? 'N/A'})`);
126
+ return { content: [{ type: 'text', text: `Linked applications (${apps.length}):\n${lines.join('\n')}` }] };
127
+ }
128
+ case 'set_feature_group_applications': {
129
+ const featureGroupId = args.featureGroupId;
130
+ if (!featureGroupId)
131
+ return { content: [{ type: 'text', text: 'Error: featureGroupId is required.' }] };
132
+ const applicationIds = args.applicationIds;
133
+ await (0, client_js_1.apiPut)(`/products/${productId}/feature-groups/${featureGroupId}/applications`, { applicationIds });
134
+ return { content: [{ type: 'text', text: `Feature group application links updated.\nLinked ${applicationIds.length} application(s) to feature group ${featureGroupId}.` }] };
135
+ }
116
136
  case 'get_feature_applications': {
117
137
  const featureId = args.featureId;
118
138
  if (!featureId)
@@ -133,26 +153,6 @@ async function handleApplicationTool(toolName, args) {
133
153
  await (0, client_js_1.apiPut)(`/products/${productId}/features/${featureId}/applications`, { applicationIds });
134
154
  return { content: [{ type: 'text', text: `Feature application links updated.\nLinked ${applicationIds.length} application(s) to feature ${featureId}.` }] };
135
155
  }
136
- case 'get_subfeature_applications': {
137
- const subFeatureId = args.subFeatureId;
138
- if (!subFeatureId)
139
- return { content: [{ type: 'text', text: 'Error: subFeatureId is required.' }] };
140
- const data = await (0, client_js_1.apiGet)(`/products/${productId}/sub-features/${subFeatureId}/applications`, {});
141
- const apps = data?.items ?? [];
142
- if (apps.length === 0) {
143
- return { content: [{ type: 'text', text: 'No applications linked to this sub-feature.' }] };
144
- }
145
- const lines = apps.map((a) => `[${a.id}] ${a.name} (${a.applicationType ?? 'N/A'})`);
146
- return { content: [{ type: 'text', text: `Linked applications (${apps.length}):\n${lines.join('\n')}` }] };
147
- }
148
- case 'set_subfeature_applications': {
149
- const subFeatureId = args.subFeatureId;
150
- if (!subFeatureId)
151
- return { content: [{ type: 'text', text: 'Error: subFeatureId is required.' }] };
152
- const applicationIds = args.applicationIds;
153
- await (0, client_js_1.apiPut)(`/products/${productId}/sub-features/${subFeatureId}/applications`, { applicationIds });
154
- return { content: [{ type: 'text', text: `Sub-feature application links updated.\nLinked ${applicationIds.length} application(s) to sub-feature ${subFeatureId}.` }] };
155
- }
156
156
  default:
157
157
  return { content: [{ type: 'text', text: `Unknown application tool: ${toolName}` }] };
158
158
  }
@@ -1 +1 @@
1
- {"version":3,"file":"applicationTools.js","sourceRoot":"","sources":["../../src/tools/applicationTools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"applicationTools.js","sourceRoot":"","sources":["../../src/tools/applicationTools.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,17 @@
1
1
  /**
2
2
  * MCP Tools: Product Document Management
3
3
  *
4
- * Provides 4 read-only tools for browsing and searching all document types
5
- * within a product via the AutoProject Agent API.
4
+ * Read + write tools for product content documents (PRD, BRD, ARCHITECTURE, etc.).
6
5
  *
7
- * Common documentTypeCode values (system-defined): PRD, BRD, TRD, SRS, FSD,
8
- * ARCHITECTURE, USER_GUIDE, RELEASE_NOTES, MEETING_NOTES, TEST_PLAN, etc.
6
+ * Typical align-with-implementation workflow:
7
+ * 1. list_documents (optional search/name) pick documentId
8
+ * 2. get_document or get_document_sections → read current content
9
+ * 3. update_document_section (section-wise) and/or update_document (fullText/metadata)
10
+ *
11
+ * Common documentTypeCode values: PRD, BRD, TRD, SRS, FSD, ARCHITECTURE,
12
+ * USER_GUIDE, RELEASE_NOTES, MEETING_NOTES, TEST_PLAN, etc.
9
13
  */
10
14
  import { Tool } from '@modelcontextprotocol/sdk/types.js';
11
15
  export declare const documentToolDefinitions: Tool[];
12
- export declare function handleDocumentTool(toolName: string, args: Record<string, unknown>): Promise<{
13
- content: {
14
- type: string;
15
- text: string;
16
- }[];
17
- }>;
16
+ export declare function handleDocumentTool(toolName: string, args: Record<string, unknown>): Promise<unknown>;
18
17
  //# sourceMappingURL=documentTools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"documentTools.d.ts","sourceRoot":"","sources":["../../src/tools/documentTools.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAK1D,eAAO,MAAM,uBAAuB,EAAE,IAAI,EA2DzC,CAAC;AAEF,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;GA6FvF"}
1
+ {"version":3,"file":"documentTools.d.ts","sourceRoot":"","sources":["../../src/tools/documentTools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAK1D,eAAO,MAAM,uBAAuB,EAAE,IAAI,EAuHzC,CAAC;AAUF,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,oBAgEvF"}
@@ -2,11 +2,15 @@
2
2
  /**
3
3
  * MCP Tools: Product Document Management
4
4
  *
5
- * Provides 4 read-only tools for browsing and searching all document types
6
- * within a product via the AutoProject Agent API.
5
+ * Read + write tools for product content documents (PRD, BRD, ARCHITECTURE, etc.).
7
6
  *
8
- * Common documentTypeCode values (system-defined): PRD, BRD, TRD, SRS, FSD,
9
- * ARCHITECTURE, USER_GUIDE, RELEASE_NOTES, MEETING_NOTES, TEST_PLAN, etc.
7
+ * Typical align-with-implementation workflow:
8
+ * 1. list_documents (optional search/name) pick documentId
9
+ * 2. get_document or get_document_sections → read current content
10
+ * 3. update_document_section (section-wise) and/or update_document (fullText/metadata)
11
+ *
12
+ * Common documentTypeCode values: PRD, BRD, TRD, SRS, FSD, ARCHITECTURE,
13
+ * USER_GUIDE, RELEASE_NOTES, MEETING_NOTES, TEST_PLAN, etc.
10
14
  */
11
15
  Object.defineProperty(exports, "__esModule", { value: true });
12
16
  exports.documentToolDefinitions = void 0;
@@ -16,8 +20,9 @@ const DEFAULT_PRODUCT_ID = process.env.AUTOPROJECT_PRODUCT_ID ?? '';
16
20
  exports.documentToolDefinitions = [
17
21
  {
18
22
  name: 'list_documents',
19
- description: 'List all documents for a product. Optionally filter by document type code (e.g. PRD, BRD, TRD, ARCHITECTURE, RELEASE_NOTES). ' +
20
- 'Returns document id, name, type, status, visibility, summary, and last-updated date.',
23
+ description: 'List documents for a product (names, types, status, summary). '
24
+ + 'Filter by documentType code and/or search/name (matches document name, slug, or summary). '
25
+ + 'Use this first to find the documentId before get_document or updates.',
21
26
  inputSchema: {
22
27
  type: 'object',
23
28
  properties: {
@@ -26,6 +31,14 @@ exports.documentToolDefinitions = [
26
31
  type: 'string',
27
32
  description: 'Filter by document type code (e.g. PRD, BRD, TRD, ARCHITECTURE, RELEASE_NOTES, USER_GUIDE).',
28
33
  },
34
+ search: {
35
+ type: 'string',
36
+ description: 'Search by document name, slug, or summary (case-insensitive). Alias: name.',
37
+ },
38
+ name: {
39
+ type: 'string',
40
+ description: 'Alias for search — find documents by name.',
41
+ },
29
42
  limit: { type: 'number', description: 'Maximum number of results to return. Default: 50, max: 200.' },
30
43
  },
31
44
  required: [],
@@ -33,8 +46,8 @@ exports.documentToolDefinitions = [
33
46
  },
34
47
  {
35
48
  name: 'get_document',
36
- description: 'Get the full content of a document including its latest version text and all sections. ' +
37
- 'Use this to read the actual content of a PRD, architecture doc, release notes, etc.',
49
+ description: 'Get a document fully: metadata, latest version fullText, and all sections. '
50
+ + 'Use when aligning a PRD/architecture doc with the current implementation.',
38
51
  inputSchema: {
39
52
  type: 'object',
40
53
  properties: {
@@ -46,7 +59,8 @@ exports.documentToolDefinitions = [
46
59
  },
47
60
  {
48
61
  name: 'get_document_sections',
49
- description: 'Get the structured sections of a document\'s current version. Useful for navigating large documents.',
62
+ description: 'Get the structured sections of a document\'s current version (sectionId, sectionKey, sectionName, content). '
63
+ + 'Prefer this for section-wise review before update_document_section.',
50
64
  inputSchema: {
51
65
  type: 'object',
52
66
  properties: {
@@ -58,89 +72,133 @@ exports.documentToolDefinitions = [
58
72
  },
59
73
  {
60
74
  name: 'search_documents',
61
- description: 'Full-text search across all document sections in a product. Returns matching sections with document name and type. ' +
62
- 'Useful for finding specific requirements, specs, or notes by keyword.',
75
+ description: 'Full-text search across document sections (and document names) in a product. '
76
+ + 'Returns matching sections with documentId, document name, and type.',
63
77
  inputSchema: {
64
78
  type: 'object',
65
79
  properties: {
66
80
  productId: { type: 'string', description: 'Product UUID. Defaults to AUTOPROJECT_PRODUCT_ID env.' },
67
- query: { type: 'string', description: 'Search term to find in document section content or titles.' },
81
+ query: { type: 'string', description: 'Search term to find in section content, section titles, or document names.' },
68
82
  },
69
83
  required: ['query'],
70
84
  },
71
85
  },
86
+ {
87
+ name: 'update_document',
88
+ description: 'Update a document\'s metadata and/or full text. '
89
+ + 'Metadata (name, summary, tags, status, visibility) patches in place. '
90
+ + 'fullText/content patches the current DRAFT version, or creates a new DRAFT version if the current one is published. '
91
+ + 'Requires write:documents scope. Prefer update_document_section for section-level edits.',
92
+ inputSchema: {
93
+ type: 'object',
94
+ properties: {
95
+ productId: { type: 'string', description: 'Product UUID. Defaults to AUTOPROJECT_PRODUCT_ID env.' },
96
+ documentId: { type: 'string', description: 'Document UUID.' },
97
+ name: { type: 'string', description: 'New document name.' },
98
+ summary: { type: 'string', description: 'New document summary.' },
99
+ tags: { type: 'array', items: { type: 'string' }, description: 'Replacement tag list.' },
100
+ status: { type: 'string', description: 'Document status (e.g. DRAFT, PUBLISHED).' },
101
+ visibility: { type: 'string', description: 'Visibility (e.g. INTERNAL, PUBLIC).' },
102
+ fullText: { type: 'string', description: 'Full document markdown/text content.' },
103
+ content: { type: 'string', description: 'Alias for fullText.' },
104
+ changeSummary: { type: 'string', description: 'Optional note when creating/patching a version.' },
105
+ },
106
+ required: ['documentId'],
107
+ },
108
+ },
109
+ {
110
+ name: 'update_document_section',
111
+ description: 'Update one section of a document\'s current version (section-wise edit). '
112
+ + 'Identify the section by sectionId (from get_document_sections) and/or sectionKey. '
113
+ + 'If sectionKey is new, the section is created. Use to realign a section with the current implementation. '
114
+ + 'Requires write:documents scope.',
115
+ inputSchema: {
116
+ type: 'object',
117
+ properties: {
118
+ productId: { type: 'string', description: 'Product UUID. Defaults to AUTOPROJECT_PRODUCT_ID env.' },
119
+ documentId: { type: 'string', description: 'Document UUID.' },
120
+ sectionId: { type: 'string', description: 'Existing section UUID (preferred when updating).' },
121
+ sectionKey: { type: 'string', description: 'Stable section key (used to update or create).' },
122
+ sectionName: { type: 'string', description: 'Section title/heading.' },
123
+ content: { type: 'string', description: 'Section body content (markdown).' },
124
+ summary: { type: 'string', description: 'Optional short section summary.' },
125
+ sectionType: { type: 'string', description: 'Section type (e.g. PARAGRAPH, HEADING).' },
126
+ displayOrder: { type: 'number', description: 'Order among sections.' },
127
+ headingLevel: { type: 'number', description: 'Heading level (1–6) if applicable.' },
128
+ contentFormat: { type: 'string', description: 'Content format (default MARKDOWN).' },
129
+ },
130
+ required: ['documentId'],
131
+ },
132
+ },
72
133
  ];
73
- async function handleDocumentTool(toolName, args) {
74
- const productId = args.productId || DEFAULT_PRODUCT_ID;
75
- if (!productId) {
76
- return { content: [{ type: 'text', text: 'Error: productId is required (or set AUTOPROJECT_PRODUCT_ID env).' }] };
134
+ function resolveProductId(args) {
135
+ const id = args.productId || DEFAULT_PRODUCT_ID;
136
+ if (!id) {
137
+ throw new Error('productId is required (pass it or set AUTOPROJECT_PRODUCT_ID).');
77
138
  }
139
+ return id;
140
+ }
141
+ async function handleDocumentTool(toolName, args) {
142
+ const productId = resolveProductId(args);
78
143
  const documentId = args.documentId;
79
144
  switch (toolName) {
80
145
  case 'list_documents': {
81
- const params = {};
82
- if (args.documentType)
83
- params.documentType = args.documentType;
84
- if (args.limit)
85
- params.limit = args.limit;
86
- const data = await (0, client_js_1.apiGet)(`/products/${productId}/documents`, params);
87
- const items = data?.items ?? [];
88
- if (items.length === 0) {
89
- return { content: [{ type: 'text', text: 'No documents found.' }] };
90
- }
91
- const lines = items.map((d) => `[${d.id}] [${d.documentTypeCode ?? 'N/A'}] ${d.name} | Status: ${d.status} | Visibility: ${d.visibility} | Updated: ${d.updatedAt}\n` +
92
- (d.summary ? ` Summary: ${String(d.summary).slice(0, 120)}` : ''));
93
- return { content: [{ type: 'text', text: `Documents (${items.length}):\n${lines.join('\n')}` }] };
146
+ return await (0, client_js_1.apiGet)(`/products/${productId}/documents`, {
147
+ documentType: args.documentType,
148
+ search: args.search ?? args.name,
149
+ limit: args.limit,
150
+ });
94
151
  }
95
152
  case 'get_document': {
96
153
  if (!documentId)
97
- return { content: [{ type: 'text', text: 'Error: documentId is required.' }] };
98
- const data = await (0, client_js_1.apiGet)(`/products/${productId}/documents/${documentId}`);
99
- const d = data;
100
- const header = `Document: ${d.name}\n` +
101
- `ID: ${d.id} | Type: ${d.documentTypeCode ?? 'N/A'} (${d.documentTypeName ?? 'N/A'})\n` +
102
- `Status: ${d.status} | Visibility: ${d.visibility} | Version: ${d.versionNumber ?? 'N/A'}\n` +
103
- `Summary: ${d.summary ?? 'N/A'}\n` +
104
- `Tags: ${Array.isArray(d.tags) && d.tags.length ? d.tags.join(', ') : 'none'}\n`;
105
- const sections = d.sections ?? [];
106
- let body;
107
- if (d.fullText) {
108
- body = `\n--- Full Text ---\n${d.fullText}`;
109
- }
110
- else if (sections.length > 0) {
111
- const sectionLines = sections.map((s) => `${'#'.repeat(s.headingLevel || 2)} ${s.sectionName}\n${s.content ?? '(no content)'}`);
112
- body = `\n--- Sections (${sections.length}) ---\n${sectionLines.join('\n\n')}`;
113
- }
114
- else {
115
- body = '\n(No content available for this document)';
116
- }
117
- return { content: [{ type: 'text', text: header + body }] };
154
+ throw new Error('documentId is required.');
155
+ return await (0, client_js_1.apiGet)(`/products/${productId}/documents/${documentId}`);
118
156
  }
119
157
  case 'get_document_sections': {
120
158
  if (!documentId)
121
- return { content: [{ type: 'text', text: 'Error: documentId is required.' }] };
122
- const data = await (0, client_js_1.apiGet)(`/products/${productId}/documents/${documentId}/sections`);
123
- const sections = data?.items ?? [];
124
- if (sections.length === 0) {
125
- return { content: [{ type: 'text', text: 'No sections found for this document.' }] };
126
- }
127
- const lines = sections.map((s) => `[${s.displayOrder}] ${'#'.repeat(s.headingLevel || 2)} ${s.sectionName} (${s.sectionType}) | key: ${s.sectionKey}`);
128
- return { content: [{ type: 'text', text: `Sections (${sections.length}):\n${lines.join('\n')}` }] };
159
+ throw new Error('documentId is required.');
160
+ return await (0, client_js_1.apiGet)(`/products/${productId}/documents/${documentId}/sections`);
129
161
  }
130
162
  case 'search_documents': {
131
163
  const q = args.query || '';
132
164
  if (!q.trim())
133
- return { content: [{ type: 'text', text: 'Error: query is required.' }] };
134
- const data = await (0, client_js_1.apiGet)(`/products/${productId}/knowledge`, { q });
135
- const results = data?.results ?? [];
136
- if (results.length === 0) {
137
- return { content: [{ type: 'text', text: `No results found for "${q}".` }] };
165
+ throw new Error('query is required.');
166
+ return await (0, client_js_1.apiGet)(`/products/${productId}/knowledge`, { q });
167
+ }
168
+ case 'update_document': {
169
+ if (!documentId)
170
+ throw new Error('documentId is required.');
171
+ return await (0, client_js_1.apiPatch)(`/products/${productId}/documents/${documentId}`, {
172
+ name: args.name,
173
+ summary: args.summary,
174
+ tags: args.tags,
175
+ status: args.status,
176
+ visibility: args.visibility,
177
+ fullText: args.fullText,
178
+ content: args.content,
179
+ changeSummary: args.changeSummary,
180
+ });
181
+ }
182
+ case 'update_document_section': {
183
+ if (!documentId)
184
+ throw new Error('documentId is required.');
185
+ if (!args.sectionId && !args.sectionKey) {
186
+ throw new Error('Provide sectionId and/or sectionKey.');
138
187
  }
139
- const lines = results.map((r) => `[${r.documentTypeCode ?? 'N/A'}] ${r.documentName} › ${r.sectionName}\n ${String(r.content ?? '').slice(0, 200)}`);
140
- return { content: [{ type: 'text', text: `Search results for "${q}" (${results.length}):\n\n${lines.join('\n\n')}` }] };
188
+ return await (0, client_js_1.apiPatch)(`/products/${productId}/documents/${documentId}/sections`, {
189
+ sectionId: args.sectionId,
190
+ sectionKey: args.sectionKey,
191
+ sectionName: args.sectionName,
192
+ content: args.content,
193
+ summary: args.summary,
194
+ sectionType: args.sectionType,
195
+ displayOrder: args.displayOrder,
196
+ headingLevel: args.headingLevel,
197
+ contentFormat: args.contentFormat,
198
+ });
141
199
  }
142
200
  default:
143
- return { content: [{ type: 'text', text: `Unknown document tool: ${toolName}` }] };
201
+ throw new Error(`Unknown document tool: ${toolName}`);
144
202
  }
145
203
  }
146
204
  //# sourceMappingURL=documentTools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"documentTools.js","sourceRoot":"","sources":["../../src/tools/documentTools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"documentTools.js","sourceRoot":"","sources":["../../src/tools/documentTools.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,10 @@
1
1
  /**
2
2
  * MCP Tools: Hierarchy read and status update
3
- * Tools: get_feature_detail, get_task_detail, list_features, update_status
3
+ * Tools: get_hierarchy, list_modules, list_feature_groups, list_features,
4
+ * get_feature_detail, get_task_detail, update_status
5
+ *
6
+ * Product hierarchy (UI terminology):
7
+ * Module → Feature Group → Feature
4
8
  */
5
9
  import { Tool } from '@modelcontextprotocol/sdk/types.js';
6
10
  export declare const hierarchyToolDefinitions: Tool[];
@@ -1 +1 @@
1
- {"version":3,"file":"hierarchyTools.d.ts","sourceRoot":"","sources":["../../src/tools/hierarchyTools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAG1D,eAAO,MAAM,wBAAwB,EAAE,IAAI,EAqD1C,CAAC;AAEF,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,oBAwBpF"}
1
+ {"version":3,"file":"hierarchyTools.d.ts","sourceRoot":"","sources":["../../src/tools/hierarchyTools.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAG1D,eAAO,MAAM,wBAAwB,EAAE,IAAI,EAwG1C,CAAC;AAEF,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,oBA0CpF"}