@nordsym/apiclaw 1.3.0 → 1.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/open-apis.d.ts.map +1 -1
- package/dist/open-apis.js +92 -0
- package/dist/open-apis.js.map +1 -1
- package/package.json +1 -1
- package/src/open-apis.ts +98 -0
package/dist/open-apis.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-apis.d.ts","sourceRoot":"","sources":["../src/open-apis.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC;IACvB,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC;IAC9C,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,GAAG,CAAC;CAC7D;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"open-apis.d.ts","sourceRoot":"","sources":["../src/open-apis.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC;IACvB,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC;IAC9C,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,GAAG,CAAC;CAC7D;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CA0IlD,CAAC;AAEF;;GAEG;AACH,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAErD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAE9D;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC1B,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,GAAG,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA6H7F;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,EAAE,CAO3G"}
|
package/dist/open-apis.js
CHANGED
|
@@ -112,6 +112,32 @@ export const openAPIs = {
|
|
|
112
112
|
},
|
|
113
113
|
},
|
|
114
114
|
},
|
|
115
|
+
// Kroki - Diagrams as code (returns URL, not JSON)
|
|
116
|
+
kroki: {
|
|
117
|
+
name: 'Kroki',
|
|
118
|
+
description: 'Generate diagram URLs from text (Mermaid, PlantUML, GraphViz, C4)',
|
|
119
|
+
baseUrl: 'https://kroki.io',
|
|
120
|
+
actions: {
|
|
121
|
+
render: {
|
|
122
|
+
method: 'GET',
|
|
123
|
+
path: () => '', // Custom handling
|
|
124
|
+
transform: (_, params) => {
|
|
125
|
+
const type = params.type || 'mermaid';
|
|
126
|
+
const format = params.format || 'svg';
|
|
127
|
+
const diagram = params.diagram || '';
|
|
128
|
+
// Base64url encode the diagram
|
|
129
|
+
const encoded = Buffer.from(diagram).toString('base64url');
|
|
130
|
+
const url = `https://kroki.io/${type}/${format}/${encoded}`;
|
|
131
|
+
return {
|
|
132
|
+
url,
|
|
133
|
+
type,
|
|
134
|
+
format,
|
|
135
|
+
note: 'Open this URL to see/download the diagram',
|
|
136
|
+
};
|
|
137
|
+
},
|
|
138
|
+
},
|
|
139
|
+
},
|
|
140
|
+
},
|
|
115
141
|
};
|
|
116
142
|
/**
|
|
117
143
|
* Check if a provider is an open API
|
|
@@ -148,6 +174,72 @@ export async function executeOpenAPI(providerId, action, params) {
|
|
|
148
174
|
};
|
|
149
175
|
}
|
|
150
176
|
try {
|
|
177
|
+
// Special handling for Kroki - use POST to get actual image data
|
|
178
|
+
if (providerId === 'kroki') {
|
|
179
|
+
const type = params.type || 'mermaid';
|
|
180
|
+
const format = params.format || 'svg';
|
|
181
|
+
const diagram = params.diagram || '';
|
|
182
|
+
if (!diagram) {
|
|
183
|
+
return {
|
|
184
|
+
success: false,
|
|
185
|
+
provider: providerId,
|
|
186
|
+
action,
|
|
187
|
+
error: 'Missing required param: diagram',
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
try {
|
|
191
|
+
const response = await fetch(`https://kroki.io/${type}/${format}`, {
|
|
192
|
+
method: 'POST',
|
|
193
|
+
headers: { 'Content-Type': 'text/plain' },
|
|
194
|
+
body: diagram,
|
|
195
|
+
});
|
|
196
|
+
if (!response.ok) {
|
|
197
|
+
const err = await response.text();
|
|
198
|
+
return {
|
|
199
|
+
success: false,
|
|
200
|
+
provider: providerId,
|
|
201
|
+
action,
|
|
202
|
+
error: `Kroki error: ${err}`,
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
// For SVG, return the content directly; for binary, return base64
|
|
206
|
+
if (format === 'svg') {
|
|
207
|
+
const svg = await response.text();
|
|
208
|
+
return {
|
|
209
|
+
success: true,
|
|
210
|
+
provider: providerId,
|
|
211
|
+
action,
|
|
212
|
+
data: {
|
|
213
|
+
format: 'svg',
|
|
214
|
+
content: svg,
|
|
215
|
+
content_type: 'image/svg+xml',
|
|
216
|
+
},
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
else {
|
|
220
|
+
const buffer = await response.arrayBuffer();
|
|
221
|
+
const base64 = Buffer.from(buffer).toString('base64');
|
|
222
|
+
return {
|
|
223
|
+
success: true,
|
|
224
|
+
provider: providerId,
|
|
225
|
+
action,
|
|
226
|
+
data: {
|
|
227
|
+
format,
|
|
228
|
+
content_base64: base64,
|
|
229
|
+
content_type: format === 'png' ? 'image/png' : 'application/pdf',
|
|
230
|
+
},
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
catch (e) {
|
|
235
|
+
return {
|
|
236
|
+
success: false,
|
|
237
|
+
provider: providerId,
|
|
238
|
+
action,
|
|
239
|
+
error: e.message || 'Kroki request failed',
|
|
240
|
+
};
|
|
241
|
+
}
|
|
242
|
+
}
|
|
151
243
|
const url = config.baseUrl + actionConfig.path(params);
|
|
152
244
|
const response = await fetch(url, { method: actionConfig.method });
|
|
153
245
|
if (!response.ok) {
|
package/dist/open-apis.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-apis.js","sourceRoot":"","sources":["../src/open-apis.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"open-apis.js","sourceRoot":"","sources":["../src/open-apis.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/open-apis.ts
CHANGED
|
@@ -128,6 +128,35 @@ export const openAPIs: Record<string, OpenAPIConfig> = {
|
|
|
128
128
|
},
|
|
129
129
|
},
|
|
130
130
|
},
|
|
131
|
+
|
|
132
|
+
// Kroki - Diagrams as code (returns URL, not JSON)
|
|
133
|
+
kroki: {
|
|
134
|
+
name: 'Kroki',
|
|
135
|
+
description: 'Generate diagram URLs from text (Mermaid, PlantUML, GraphViz, C4)',
|
|
136
|
+
baseUrl: 'https://kroki.io',
|
|
137
|
+
actions: {
|
|
138
|
+
render: {
|
|
139
|
+
method: 'GET',
|
|
140
|
+
path: () => '', // Custom handling
|
|
141
|
+
transform: (_, params) => {
|
|
142
|
+
const type = params.type || 'mermaid';
|
|
143
|
+
const format = params.format || 'svg';
|
|
144
|
+
const diagram = params.diagram || '';
|
|
145
|
+
|
|
146
|
+
// Base64url encode the diagram
|
|
147
|
+
const encoded = Buffer.from(diagram).toString('base64url');
|
|
148
|
+
const url = `https://kroki.io/${type}/${format}/${encoded}`;
|
|
149
|
+
|
|
150
|
+
return {
|
|
151
|
+
url,
|
|
152
|
+
type,
|
|
153
|
+
format,
|
|
154
|
+
note: 'Open this URL to see/download the diagram',
|
|
155
|
+
};
|
|
156
|
+
},
|
|
157
|
+
},
|
|
158
|
+
},
|
|
159
|
+
},
|
|
131
160
|
};
|
|
132
161
|
|
|
133
162
|
/**
|
|
@@ -175,6 +204,75 @@ export async function executeOpenAPI(
|
|
|
175
204
|
}
|
|
176
205
|
|
|
177
206
|
try {
|
|
207
|
+
// Special handling for Kroki - use POST to get actual image data
|
|
208
|
+
if (providerId === 'kroki') {
|
|
209
|
+
const type = params.type || 'mermaid';
|
|
210
|
+
const format = params.format || 'svg';
|
|
211
|
+
const diagram = params.diagram || '';
|
|
212
|
+
|
|
213
|
+
if (!diagram) {
|
|
214
|
+
return {
|
|
215
|
+
success: false,
|
|
216
|
+
provider: providerId,
|
|
217
|
+
action,
|
|
218
|
+
error: 'Missing required param: diagram',
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
try {
|
|
223
|
+
const response = await fetch(`https://kroki.io/${type}/${format}`, {
|
|
224
|
+
method: 'POST',
|
|
225
|
+
headers: { 'Content-Type': 'text/plain' },
|
|
226
|
+
body: diagram,
|
|
227
|
+
});
|
|
228
|
+
|
|
229
|
+
if (!response.ok) {
|
|
230
|
+
const err = await response.text();
|
|
231
|
+
return {
|
|
232
|
+
success: false,
|
|
233
|
+
provider: providerId,
|
|
234
|
+
action,
|
|
235
|
+
error: `Kroki error: ${err}`,
|
|
236
|
+
};
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
// For SVG, return the content directly; for binary, return base64
|
|
240
|
+
if (format === 'svg') {
|
|
241
|
+
const svg = await response.text();
|
|
242
|
+
return {
|
|
243
|
+
success: true,
|
|
244
|
+
provider: providerId,
|
|
245
|
+
action,
|
|
246
|
+
data: {
|
|
247
|
+
format: 'svg',
|
|
248
|
+
content: svg,
|
|
249
|
+
content_type: 'image/svg+xml',
|
|
250
|
+
},
|
|
251
|
+
};
|
|
252
|
+
} else {
|
|
253
|
+
const buffer = await response.arrayBuffer();
|
|
254
|
+
const base64 = Buffer.from(buffer).toString('base64');
|
|
255
|
+
return {
|
|
256
|
+
success: true,
|
|
257
|
+
provider: providerId,
|
|
258
|
+
action,
|
|
259
|
+
data: {
|
|
260
|
+
format,
|
|
261
|
+
content_base64: base64,
|
|
262
|
+
content_type: format === 'png' ? 'image/png' : 'application/pdf',
|
|
263
|
+
},
|
|
264
|
+
};
|
|
265
|
+
}
|
|
266
|
+
} catch (e: any) {
|
|
267
|
+
return {
|
|
268
|
+
success: false,
|
|
269
|
+
provider: providerId,
|
|
270
|
+
action,
|
|
271
|
+
error: e.message || 'Kroki request failed',
|
|
272
|
+
};
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
|
|
178
276
|
const url = config.baseUrl + actionConfig.path(params);
|
|
179
277
|
const response = await fetch(url, { method: actionConfig.method });
|
|
180
278
|
|