microcms-mcp-server 0.6.0 → 0.9.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.
Files changed (121) hide show
  1. package/README.md +142 -1
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +112 -25
  4. package/dist/cli.js.map +1 -1
  5. package/dist/client.d.ts +117 -28
  6. package/dist/client.d.ts.map +1 -1
  7. package/dist/client.js +293 -48
  8. package/dist/client.js.map +1 -1
  9. package/dist/config.d.ts +24 -5
  10. package/dist/config.d.ts.map +1 -1
  11. package/dist/config.js +146 -2
  12. package/dist/config.js.map +1 -1
  13. package/dist/constants.d.ts +1 -1
  14. package/dist/constants.d.ts.map +1 -1
  15. package/dist/constants.js +17 -1
  16. package/dist/constants.js.map +1 -1
  17. package/dist/index.js +31 -2
  18. package/dist/index.js.map +1 -1
  19. package/dist/server.d.ts +8 -1
  20. package/dist/server.d.ts.map +1 -1
  21. package/dist/server.js +183 -144
  22. package/dist/server.js.map +1 -1
  23. package/dist/tools/create-content-draft.d.ts +2 -2
  24. package/dist/tools/create-content-draft.d.ts.map +1 -1
  25. package/dist/tools/create-content-draft.js +7 -3
  26. package/dist/tools/create-content-draft.js.map +1 -1
  27. package/dist/tools/create-content-published.d.ts +2 -2
  28. package/dist/tools/create-content-published.d.ts.map +1 -1
  29. package/dist/tools/create-content-published.js +7 -3
  30. package/dist/tools/create-content-published.js.map +1 -1
  31. package/dist/tools/create-contents-bulk.d.ts +7 -0
  32. package/dist/tools/create-contents-bulk.d.ts.map +1 -0
  33. package/dist/tools/create-contents-bulk.js +130 -0
  34. package/dist/tools/create-contents-bulk.js.map +1 -0
  35. package/dist/tools/delete-content.d.ts +2 -2
  36. package/dist/tools/delete-content.d.ts.map +1 -1
  37. package/dist/tools/delete-content.js +6 -2
  38. package/dist/tools/delete-content.js.map +1 -1
  39. package/dist/tools/delete-media.d.ts +2 -2
  40. package/dist/tools/delete-media.d.ts.map +1 -1
  41. package/dist/tools/delete-media.js +6 -2
  42. package/dist/tools/delete-media.js.map +1 -1
  43. package/dist/tools/get-api-info.d.ts +2 -2
  44. package/dist/tools/get-api-info.d.ts.map +1 -1
  45. package/dist/tools/get-api-info.js +6 -2
  46. package/dist/tools/get-api-info.js.map +1 -1
  47. package/dist/tools/get-apis-list.d.ts +2 -2
  48. package/dist/tools/get-apis-list.d.ts.map +1 -1
  49. package/dist/tools/get-apis-list.js +9 -4
  50. package/dist/tools/get-apis-list.js.map +1 -1
  51. package/dist/tools/get-content-meta.d.ts +2 -2
  52. package/dist/tools/get-content-meta.d.ts.map +1 -1
  53. package/dist/tools/get-content-meta.js +6 -2
  54. package/dist/tools/get-content-meta.js.map +1 -1
  55. package/dist/tools/get-content.d.ts +2 -2
  56. package/dist/tools/get-content.d.ts.map +1 -1
  57. package/dist/tools/get-content.js +6 -2
  58. package/dist/tools/get-content.js.map +1 -1
  59. package/dist/tools/get-list-meta.d.ts +2 -2
  60. package/dist/tools/get-list-meta.d.ts.map +1 -1
  61. package/dist/tools/get-list-meta.js +6 -2
  62. package/dist/tools/get-list-meta.js.map +1 -1
  63. package/dist/tools/get-list.d.ts +2 -2
  64. package/dist/tools/get-list.d.ts.map +1 -1
  65. package/dist/tools/get-list.js +6 -2
  66. package/dist/tools/get-list.js.map +1 -1
  67. package/dist/tools/get-media.d.ts +2 -2
  68. package/dist/tools/get-media.d.ts.map +1 -1
  69. package/dist/tools/get-media.js +9 -4
  70. package/dist/tools/get-media.js.map +1 -1
  71. package/dist/tools/get-member.d.ts +2 -2
  72. package/dist/tools/get-member.d.ts.map +1 -1
  73. package/dist/tools/get-member.js +6 -2
  74. package/dist/tools/get-member.js.map +1 -1
  75. package/dist/tools/get-services.d.ts +19 -0
  76. package/dist/tools/get-services.d.ts.map +1 -0
  77. package/dist/tools/get-services.js +48 -0
  78. package/dist/tools/get-services.js.map +1 -0
  79. package/dist/tools/patch-content-created-by.d.ts +2 -2
  80. package/dist/tools/patch-content-created-by.d.ts.map +1 -1
  81. package/dist/tools/patch-content-created-by.js +10 -3
  82. package/dist/tools/patch-content-created-by.js.map +1 -1
  83. package/dist/tools/patch-content-status.d.ts +2 -2
  84. package/dist/tools/patch-content-status.d.ts.map +1 -1
  85. package/dist/tools/patch-content-status.js +6 -2
  86. package/dist/tools/patch-content-status.js.map +1 -1
  87. package/dist/tools/patch-content.d.ts +2 -2
  88. package/dist/tools/patch-content.d.ts.map +1 -1
  89. package/dist/tools/patch-content.js +8 -3
  90. package/dist/tools/patch-content.js.map +1 -1
  91. package/dist/tools/update-content-draft.d.ts +2 -2
  92. package/dist/tools/update-content-draft.d.ts.map +1 -1
  93. package/dist/tools/update-content-draft.js +7 -3
  94. package/dist/tools/update-content-draft.js.map +1 -1
  95. package/dist/tools/update-content-published.d.ts +2 -2
  96. package/dist/tools/update-content-published.d.ts.map +1 -1
  97. package/dist/tools/update-content-published.js +7 -3
  98. package/dist/tools/update-content-published.js.map +1 -1
  99. package/dist/tools/upload-media.d.ts +2 -2
  100. package/dist/tools/upload-media.d.ts.map +1 -1
  101. package/dist/tools/upload-media.js +12 -6
  102. package/dist/tools/upload-media.js.map +1 -1
  103. package/dist/transport/http.d.ts +4 -0
  104. package/dist/transport/http.d.ts.map +1 -0
  105. package/dist/transport/http.js +63 -0
  106. package/dist/transport/http.js.map +1 -0
  107. package/dist/transport/index.d.ts +4 -0
  108. package/dist/transport/index.d.ts.map +1 -0
  109. package/dist/transport/index.js +12 -0
  110. package/dist/transport/index.js.map +1 -0
  111. package/dist/transport/stdio.d.ts +3 -0
  112. package/dist/transport/stdio.d.ts.map +1 -0
  113. package/dist/transport/stdio.js +6 -0
  114. package/dist/transport/stdio.js.map +1 -0
  115. package/dist/types.d.ts +98 -2
  116. package/dist/types.d.ts.map +1 -1
  117. package/package.json +11 -8
  118. package/dist/tools/get-contents-list-management.d.ts +0 -5
  119. package/dist/tools/get-contents-list-management.d.ts.map +0 -1
  120. package/dist/tools/get-contents-list-management.js +0 -39
  121. package/dist/tools/get-contents-list-management.js.map +0 -1
package/dist/client.js CHANGED
@@ -1,66 +1,252 @@
1
- import { createClient, createManagementClient } from 'microcms-js-sdk';
1
+ import { createClient, createManagementClient, } from 'microcms-js-sdk';
2
2
  import { parseConfig } from './config.js';
3
- const config = parseConfig();
4
- export const microCMSClient = createClient({
5
- serviceDomain: config.serviceDomain,
6
- apiKey: config.apiKey,
7
- });
8
- export const microCMSManagementClient = createManagementClient({
9
- serviceDomain: config.serviceDomain,
10
- apiKey: config.apiKey,
11
- });
3
+ const clientMap = new Map();
4
+ let appConfig = null;
5
+ let defaultServiceId = null;
6
+ /**
7
+ * Initialize clients based on configuration.
8
+ * Call this once at server startup.
9
+ */
10
+ export function initializeClients() {
11
+ appConfig = parseConfig();
12
+ if (appConfig.mode === 'single') {
13
+ // Single service mode (legacy)
14
+ const clients = createClientsForService({
15
+ id: appConfig.serviceDomain,
16
+ apiKey: appConfig.apiKey,
17
+ });
18
+ clientMap.set(appConfig.serviceDomain, clients);
19
+ defaultServiceId = appConfig.serviceDomain;
20
+ }
21
+ else {
22
+ // Multi service mode
23
+ for (const service of appConfig.services) {
24
+ const clients = createClientsForService(service);
25
+ clientMap.set(service.id, clients);
26
+ }
27
+ defaultServiceId = appConfig.services[0].id;
28
+ }
29
+ return appConfig;
30
+ }
31
+ /**
32
+ * Create microCMS clients for a service
33
+ */
34
+ function createClientsForService(service) {
35
+ return {
36
+ client: createClient({
37
+ serviceDomain: service.id,
38
+ apiKey: service.apiKey,
39
+ }),
40
+ managementClient: createManagementClient({
41
+ serviceDomain: service.id,
42
+ apiKey: service.apiKey,
43
+ }),
44
+ serviceDomain: service.id,
45
+ apiKey: service.apiKey,
46
+ };
47
+ }
48
+ /**
49
+ * Get current app configuration
50
+ */
51
+ export function getAppConfig() {
52
+ if (!appConfig) {
53
+ throw new Error('Clients not initialized. Call initializeClients() first.');
54
+ }
55
+ return appConfig;
56
+ }
57
+ /**
58
+ * Get all registered service IDs
59
+ */
60
+ export function getServiceIds() {
61
+ return Array.from(clientMap.keys());
62
+ }
63
+ /**
64
+ * Check if a service is registered
65
+ */
66
+ export function hasService(serviceId) {
67
+ return clientMap.has(serviceId);
68
+ }
69
+ /**
70
+ * Get clients for a specific service.
71
+ * In single-service mode, serviceId is optional and defaults to the configured service.
72
+ * In multi-service mode, serviceId is required.
73
+ * Automatically initializes clients if not already done (lazy initialization).
74
+ */
75
+ export function getClientsForService(serviceId) {
76
+ ensureInitialized();
77
+ // Validate serviceId requirement based on mode
78
+ if (!serviceId) {
79
+ if (appConfig?.mode === 'multi') {
80
+ const available = getServiceIds().join(', ');
81
+ throw new Error(`serviceId is required in multi-service mode. Available services: ${available}`);
82
+ }
83
+ return getDefaultClients();
84
+ }
85
+ const clients = clientMap.get(serviceId);
86
+ if (!clients) {
87
+ const available = getServiceIds().join(', ');
88
+ throw new Error(`Service "${serviceId}" not found. Available services: ${available || 'none'}`);
89
+ }
90
+ return clients;
91
+ }
92
+ /**
93
+ * Ensure clients are initialized.
94
+ * This provides lazy initialization for backward compatibility with legacy exports.
95
+ */
96
+ function ensureInitialized() {
97
+ if (!appConfig) {
98
+ initializeClients();
99
+ }
100
+ }
101
+ /**
102
+ * Get the default service clients (for backward compatibility)
103
+ * Automatically initializes clients if not already done (lazy initialization).
104
+ */
105
+ function getDefaultClients() {
106
+ ensureInitialized();
107
+ if (!defaultServiceId) {
108
+ throw new Error('Clients not initialized. This should not happen.');
109
+ }
110
+ return getClientsForService(defaultServiceId);
111
+ }
112
+ // Legacy exports for backward compatibility
113
+ export const microCMSClient = {
114
+ getList: (params) => {
115
+ return getDefaultClients().client.getList(params);
116
+ },
117
+ getListDetail: (params) => {
118
+ return getDefaultClients().client.getListDetail(params);
119
+ },
120
+ create: (params) => {
121
+ return getDefaultClients().client.create(params);
122
+ },
123
+ update: (params) => {
124
+ return getDefaultClients().client.update(params);
125
+ },
126
+ delete: (params) => {
127
+ return getDefaultClients().client.delete(params);
128
+ },
129
+ };
130
+ export const microCMSManagementClient = {
131
+ uploadMedia: (params) => {
132
+ // SDK types don't fully match API capabilities, type assertion required
133
+ // biome-ignore lint/suspicious/noExplicitAny: SDK type limitation
134
+ return getDefaultClients().managementClient.uploadMedia(params);
135
+ },
136
+ };
12
137
  export const microCMSConfig = {
13
- serviceDomain: config.serviceDomain,
14
- apiKey: config.apiKey,
138
+ get serviceDomain() {
139
+ return getDefaultClients().serviceDomain;
140
+ },
141
+ get apiKey() {
142
+ return getDefaultClients().apiKey;
143
+ },
15
144
  };
16
- export async function getList(endpoint, queries) {
17
- return await microCMSClient.getList({
145
+ /**
146
+ * Get service information (name, id) from the microCMS Management API.
147
+ * Requires the GET /api/v1/service endpoint (PR #21694).
148
+ * Falls back gracefully if the endpoint is not available.
149
+ */
150
+ export async function getServiceInfo(serviceId) {
151
+ const clients = getClientsForService(serviceId);
152
+ try {
153
+ const url = `https://${clients.serviceDomain}.microcms-management.io/api/v1/service`;
154
+ const response = await fetch(url, {
155
+ method: 'GET',
156
+ headers: {
157
+ 'X-MICROCMS-API-KEY': clients.apiKey,
158
+ },
159
+ });
160
+ if (response.ok) {
161
+ const data = await response.json();
162
+ return {
163
+ id: clients.serviceDomain,
164
+ name: data.name || clients.serviceDomain,
165
+ };
166
+ }
167
+ // 404 (endpoint not implemented) or 403 (no permission) - fall back
168
+ return { id: clients.serviceDomain, name: clients.serviceDomain };
169
+ }
170
+ catch {
171
+ // Network error - fall back
172
+ return { id: clients.serviceDomain, name: clients.serviceDomain };
173
+ }
174
+ }
175
+ /**
176
+ * Attempt to fetch service info for all configured services.
177
+ * Failures do not block server startup.
178
+ */
179
+ export async function fetchAllServiceInfo() {
180
+ const serviceIds = getServiceIds();
181
+ const infoMap = new Map();
182
+ const results = await Promise.allSettled(serviceIds.map((id) => getServiceInfo(id)));
183
+ for (let i = 0; i < serviceIds.length; i++) {
184
+ const result = results[i];
185
+ if (result.status === 'fulfilled') {
186
+ infoMap.set(serviceIds[i], result.value);
187
+ }
188
+ else {
189
+ infoMap.set(serviceIds[i], { id: serviceIds[i], name: serviceIds[i] });
190
+ }
191
+ }
192
+ return infoMap;
193
+ }
194
+ // Service-specific API functions
195
+ export async function getList(endpoint, queries, serviceId) {
196
+ const clients = getClientsForService(serviceId);
197
+ return await clients.client.getList({
18
198
  endpoint,
19
199
  queries,
20
200
  });
21
201
  }
22
- export async function getListDetail(endpoint, contentId, queries) {
23
- return await microCMSClient.getListDetail({
202
+ export async function getListDetail(endpoint, contentId, queries, serviceId) {
203
+ const clients = getClientsForService(serviceId);
204
+ return await clients.client.getListDetail({
24
205
  endpoint,
25
206
  contentId,
26
207
  queries,
27
208
  });
28
209
  }
29
- export async function create(endpoint, content, options) {
30
- return await microCMSClient.create({
210
+ export async function create(endpoint, content, options, serviceId) {
211
+ const clients = getClientsForService(serviceId);
212
+ return await clients.client.create({
31
213
  endpoint,
32
214
  content,
33
215
  ...options,
34
216
  });
35
217
  }
36
- export async function update(endpoint, contentId, content, options) {
37
- return await microCMSClient.update({
218
+ export async function update(endpoint, contentId, content, options, serviceId) {
219
+ const clients = getClientsForService(serviceId);
220
+ return await clients.client.update({
38
221
  endpoint,
39
222
  contentId,
40
223
  content,
41
224
  ...options,
42
225
  });
43
226
  }
44
- export async function patch(endpoint, contentId, content, options) {
45
- return await microCMSClient.update({
227
+ export async function patch(endpoint, contentId, content, options, serviceId) {
228
+ const clients = getClientsForService(serviceId);
229
+ return await clients.client.update({
46
230
  endpoint,
47
231
  contentId,
48
232
  content,
49
233
  ...options,
50
234
  });
51
235
  }
52
- export async function deleteContent(endpoint, contentId) {
53
- return await microCMSClient.delete({
236
+ export async function deleteContent(endpoint, contentId, serviceId) {
237
+ const clients = getClientsForService(serviceId);
238
+ return await clients.client.delete({
54
239
  endpoint,
55
240
  contentId,
56
241
  });
57
242
  }
58
- export async function getApiInfo(endpoint) {
59
- const url = `https://${config.serviceDomain}.microcms-management.io/api/v1/apis/${endpoint}`;
243
+ export async function getApiInfo(endpoint, serviceId) {
244
+ const clients = getClientsForService(serviceId);
245
+ const url = `https://${clients.serviceDomain}.microcms-management.io/api/v1/apis/${endpoint}`;
60
246
  const response = await fetch(url, {
61
247
  method: 'GET',
62
248
  headers: {
63
- 'X-MICROCMS-API-KEY': config.apiKey,
249
+ 'X-MICROCMS-API-KEY': clients.apiKey,
64
250
  },
65
251
  });
66
252
  if (!response.ok) {
@@ -69,12 +255,36 @@ export async function getApiInfo(endpoint) {
69
255
  }
70
256
  return await response.json();
71
257
  }
72
- export async function getApiList() {
73
- const url = `https://${config.serviceDomain}.microcms-management.io/api/v1/apis`;
258
+ /**
259
+ * Fetch formatted API list for a service (name, endpoint, type).
260
+ * Returns empty array on failure.
261
+ */
262
+ export async function fetchApisForService(serviceId) {
263
+ try {
264
+ const result = await getApiList(serviceId);
265
+ if (result && Array.isArray(result.apis)) {
266
+ return result.apis.map((api) => ({
267
+ name: api.apiName || api.name || '',
268
+ endpoint: api.apiEndpoint || api.endpoint || '',
269
+ type: api.type === 'list' ||
270
+ (Array.isArray(api.apiType) && api.apiType.includes('LIST'))
271
+ ? 'list'
272
+ : 'object',
273
+ }));
274
+ }
275
+ return [];
276
+ }
277
+ catch {
278
+ return [];
279
+ }
280
+ }
281
+ export async function getApiList(serviceId) {
282
+ const clients = getClientsForService(serviceId);
283
+ const url = `https://${clients.serviceDomain}.microcms-management.io/api/v1/apis`;
74
284
  const response = await fetch(url, {
75
285
  method: 'GET',
76
286
  headers: {
77
- 'X-MICROCMS-API-KEY': config.apiKey,
287
+ 'X-MICROCMS-API-KEY': clients.apiKey,
78
288
  },
79
289
  });
80
290
  if (!response.ok) {
@@ -83,12 +293,13 @@ export async function getApiList() {
83
293
  }
84
294
  return await response.json();
85
295
  }
86
- export async function getMember(memberId) {
87
- const url = `https://${config.serviceDomain}.microcms-management.io/api/v1/members/${memberId}`;
296
+ export async function getMember(memberId, serviceId) {
297
+ const clients = getClientsForService(serviceId);
298
+ const url = `https://${clients.serviceDomain}.microcms-management.io/api/v1/members/${memberId}`;
88
299
  const response = await fetch(url, {
89
300
  method: 'GET',
90
301
  headers: {
91
- 'X-MICROCMS-API-KEY': config.apiKey,
302
+ 'X-MICROCMS-API-KEY': clients.apiKey,
92
303
  },
93
304
  });
94
305
  if (!response.ok) {
@@ -97,12 +308,13 @@ export async function getMember(memberId) {
97
308
  }
98
309
  return await response.json();
99
310
  }
100
- export async function deleteMedia(mediaUrl) {
101
- const url = `https://${config.serviceDomain}.microcms-management.io/api/v2/media?url=${encodeURIComponent(mediaUrl)}`;
311
+ export async function deleteMedia(mediaUrl, serviceId) {
312
+ const clients = getClientsForService(serviceId);
313
+ const url = `https://${clients.serviceDomain}.microcms-management.io/api/v2/media?url=${encodeURIComponent(mediaUrl)}`;
102
314
  const response = await fetch(url, {
103
315
  method: 'DELETE',
104
316
  headers: {
105
- 'X-MICROCMS-API-KEY': config.apiKey,
317
+ 'X-MICROCMS-API-KEY': clients.apiKey,
106
318
  },
107
319
  });
108
320
  if (!response.ok) {
@@ -111,12 +323,13 @@ export async function deleteMedia(mediaUrl) {
111
323
  }
112
324
  return await response.json();
113
325
  }
114
- export async function patchContentStatus(endpoint, contentId, status) {
115
- const url = `https://${config.serviceDomain}.microcms-management.io/api/v1/contents/${endpoint}/${contentId}/status`;
326
+ export async function patchContentStatus(endpoint, contentId, status, serviceId) {
327
+ const clients = getClientsForService(serviceId);
328
+ const url = `https://${clients.serviceDomain}.microcms-management.io/api/v1/contents/${endpoint}/${contentId}/status`;
116
329
  const response = await fetch(url, {
117
330
  method: 'PATCH',
118
331
  headers: {
119
- 'X-MICROCMS-API-KEY': config.apiKey,
332
+ 'X-MICROCMS-API-KEY': clients.apiKey,
120
333
  'Content-Type': 'application/json',
121
334
  },
122
335
  body: JSON.stringify({ status: [status] }),
@@ -126,12 +339,13 @@ export async function patchContentStatus(endpoint, contentId, status) {
126
339
  throw new Error(`Failed to patch content status: ${response.status} ${response.statusText} - ${errorText}`);
127
340
  }
128
341
  }
129
- export async function patchContentCreatedBy(endpoint, contentId, memberId) {
130
- const url = `https://${config.serviceDomain}.microcms-management.io/api/v1/contents/${endpoint}/${contentId}/createdBy`;
342
+ export async function patchContentCreatedBy(endpoint, contentId, memberId, serviceId) {
343
+ const clients = getClientsForService(serviceId);
344
+ const url = `https://${clients.serviceDomain}.microcms-management.io/api/v1/contents/${endpoint}/${contentId}/createdBy`;
131
345
  const response = await fetch(url, {
132
346
  method: 'PATCH',
133
347
  headers: {
134
- 'X-MICROCMS-API-KEY': config.apiKey,
348
+ 'X-MICROCMS-API-KEY': clients.apiKey,
135
349
  'Content-Type': 'application/json',
136
350
  },
137
351
  body: JSON.stringify({ createdBy: memberId }),
@@ -142,17 +356,18 @@ export async function patchContentCreatedBy(endpoint, contentId, memberId) {
142
356
  }
143
357
  return await response.json();
144
358
  }
145
- export async function getListMeta(endpoint, options) {
359
+ export async function getListMeta(endpoint, options, serviceId) {
360
+ const clients = getClientsForService(serviceId);
146
361
  const queryParams = new URLSearchParams();
147
362
  if (options?.limit)
148
363
  queryParams.append('limit', options.limit.toString());
149
364
  if (options?.offset)
150
365
  queryParams.append('offset', options.offset.toString());
151
- const url = `https://${config.serviceDomain}.microcms-management.io/api/v1/contents/${endpoint}${queryParams.toString() ? `?${queryParams.toString()}` : ''}`;
366
+ const url = `https://${clients.serviceDomain}.microcms-management.io/api/v1/contents/${endpoint}${queryParams.toString() ? `?${queryParams.toString()}` : ''}`;
152
367
  const response = await fetch(url, {
153
368
  method: 'GET',
154
369
  headers: {
155
- 'X-MICROCMS-API-KEY': config.apiKey,
370
+ 'X-MICROCMS-API-KEY': clients.apiKey,
156
371
  },
157
372
  });
158
373
  if (!response.ok) {
@@ -161,12 +376,13 @@ export async function getListMeta(endpoint, options) {
161
376
  }
162
377
  return await response.json();
163
378
  }
164
- export async function getContentManagement(endpoint, contentId) {
165
- const url = `https://${config.serviceDomain}.microcms-management.io/api/v1/contents/${endpoint}/${contentId}`;
379
+ export async function getContentManagement(endpoint, contentId, serviceId) {
380
+ const clients = getClientsForService(serviceId);
381
+ const url = `https://${clients.serviceDomain}.microcms-management.io/api/v1/contents/${endpoint}/${contentId}`;
166
382
  const response = await fetch(url, {
167
383
  method: 'GET',
168
384
  headers: {
169
- 'X-MICROCMS-API-KEY': config.apiKey,
385
+ 'X-MICROCMS-API-KEY': clients.apiKey,
170
386
  },
171
387
  });
172
388
  if (!response.ok) {
@@ -175,4 +391,33 @@ export async function getContentManagement(endpoint, contentId) {
175
391
  }
176
392
  return await response.json();
177
393
  }
394
+ // Media functions with service support
395
+ export async function getMedia(params, serviceId) {
396
+ const clients = getClientsForService(serviceId);
397
+ const queryParams = new URLSearchParams();
398
+ if (params?.limit)
399
+ queryParams.append('limit', params.limit.toString());
400
+ if (params?.imageOnly)
401
+ queryParams.append('imageOnly', 'true');
402
+ if (params?.fileName)
403
+ queryParams.append('fileName', params.fileName);
404
+ if (params?.token)
405
+ queryParams.append('token', params.token);
406
+ const response = await fetch(`https://${clients.serviceDomain}.microcms-management.io/api/v2/media?${queryParams}`, {
407
+ method: 'GET',
408
+ headers: {
409
+ 'X-MICROCMS-API-KEY': clients.apiKey,
410
+ },
411
+ });
412
+ if (!response.ok) {
413
+ throw new Error(`Media retrieval failed: ${response.status} ${response.statusText}`);
414
+ }
415
+ return await response.json();
416
+ }
417
+ export async function uploadMedia(params, serviceId) {
418
+ const clients = getClientsForService(serviceId);
419
+ // SDK types don't fully match API capabilities, type assertion required
420
+ // biome-ignore lint/suspicious/noExplicitAny: SDK type limitation
421
+ return await clients.managementClient.uploadMedia(params);
422
+ }
178
423
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -1,6 +1,25 @@
1
- export interface Config {
2
- serviceDomain: string;
3
- apiKey: string;
4
- }
5
- export declare function parseConfig(): Config;
1
+ import type { AppConfig, AuthConfig, FullAppConfig, MultiServiceConfig, ServiceConfig, SingleServiceConfig, TransportConfig } from './types.js';
2
+ export type { AppConfig, AuthConfig, FullAppConfig, ServiceConfig, SingleServiceConfig, MultiServiceConfig, TransportConfig, };
3
+ /**
4
+ * Parse and validate service configuration from environment variables or command line arguments.
5
+ *
6
+ * Supports two modes:
7
+ * 1. Single service mode (legacy): MICROCMS_SERVICE_ID + MICROCMS_API_KEY
8
+ * 2. Multi service mode: MICROCMS_SERVICES (JSON array)
9
+ *
10
+ * If MICROCMS_SERVICES is set, it takes priority over the legacy single service config.
11
+ */
12
+ export declare function parseConfig(): AppConfig;
13
+ /**
14
+ * Parse transport configuration from environment variables and CLI arguments.
15
+ */
16
+ export declare function parseTransportConfig(): TransportConfig;
17
+ /**
18
+ * Parse authentication configuration from environment variables.
19
+ */
20
+ export declare function parseAuthConfig(): AuthConfig;
21
+ /**
22
+ * Parse the full application configuration including services, transport, and auth.
23
+ */
24
+ export declare function parseFullConfig(): FullAppConfig;
6
25
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,MAAM;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,WAAW,IAAI,MAAM,CAiCpC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,eAAe,EAEhB,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,SAAS,EACT,UAAU,EACV,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,GAChB,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,WAAW,IAAI,SAAS,CASvC;AA6GD;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,eAAe,CA6DtD;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,UAAU,CAO5C;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,aAAa,CAM/C"}