spiceflow 1.4.0 → 1.4.1
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/client/errors.js +4 -1
- package/dist/client/errors.js.map +1 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +59 -49
- package/dist/client/index.js.map +1 -1
- package/dist/client.test.js +22 -63
- package/dist/client.test.js.map +1 -1
- package/dist/cors.js +8 -6
- package/dist/cors.js.map +1 -1
- package/dist/error.js +8 -18
- package/dist/error.js.map +1 -1
- package/dist/mcp-transport.js +12 -8
- package/dist/mcp-transport.js.map +1 -1
- package/dist/mcp.js +10 -12
- package/dist/mcp.js.map +1 -1
- package/dist/middleware.test.js +2 -2
- package/dist/middleware.test.js.map +1 -1
- package/dist/openapi.js +117 -77
- package/dist/openapi.js.map +1 -1
- package/dist/openapi.test.js +10 -27
- package/dist/openapi.test.js.map +1 -1
- package/dist/spiceflow.js +76 -98
- package/dist/spiceflow.js.map +1 -1
- package/dist/spiceflow.test.js +12 -61
- package/dist/spiceflow.test.js.map +1 -1
- package/dist/static-node.js +6 -3
- package/dist/static-node.js.map +1 -1
- package/dist/static.js +3 -5
- package/dist/static.js.map +1 -1
- package/dist/stream.test.js +36 -65
- package/dist/stream.test.js.map +1 -1
- package/dist/types.test.js +10 -45
- package/dist/types.test.js.map +1 -1
- package/package.json +1 -1
- package/src/client/index.ts +12 -3
- package/src/client.test.ts +9 -3
- package/src/middleware.test.ts +1 -1
package/dist/types.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.test.js","sourceRoot":"","sources":["../src/types.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.test.js","sourceRoot":"","sources":["../src/types.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/client/index.ts
CHANGED
|
@@ -185,6 +185,10 @@ const createProxy = (
|
|
|
185
185
|
): any =>
|
|
186
186
|
new Proxy(() => {}, {
|
|
187
187
|
get(_, param: string): any {
|
|
188
|
+
// handle case where createClient returns a promise and await calls .then on it
|
|
189
|
+
if ((!paths.length && param === 'then') || param === 'catch') {
|
|
190
|
+
return _[param]
|
|
191
|
+
}
|
|
188
192
|
return createProxy(
|
|
189
193
|
domain,
|
|
190
194
|
config,
|
|
@@ -237,7 +241,7 @@ const createProxy = (
|
|
|
237
241
|
}
|
|
238
242
|
}
|
|
239
243
|
|
|
240
|
-
return (async () => {
|
|
244
|
+
return Promise.resolve().then(async () => {
|
|
241
245
|
let fetchInit = {
|
|
242
246
|
method: method?.toUpperCase(),
|
|
243
247
|
body,
|
|
@@ -365,6 +369,7 @@ const createProxy = (
|
|
|
365
369
|
}
|
|
366
370
|
|
|
367
371
|
const url = domain + path + q
|
|
372
|
+
// console.log({ url, fetchInit })
|
|
368
373
|
const response = await (instance?.handle(
|
|
369
374
|
new Request(url, fetchInit),
|
|
370
375
|
) ?? fetcher!(url, fetchInit))
|
|
@@ -423,7 +428,11 @@ const createProxy = (
|
|
|
423
428
|
}
|
|
424
429
|
|
|
425
430
|
if (response.status >= 300 || response.status < 200) {
|
|
426
|
-
error = new SpiceflowFetchError(
|
|
431
|
+
error = new SpiceflowFetchError(
|
|
432
|
+
response.status,
|
|
433
|
+
data || 'Unknown error',
|
|
434
|
+
)
|
|
435
|
+
console.trace({ error, data })
|
|
427
436
|
data = null
|
|
428
437
|
}
|
|
429
438
|
|
|
@@ -434,7 +443,7 @@ const createProxy = (
|
|
|
434
443
|
status: response.status,
|
|
435
444
|
headers: response.headers,
|
|
436
445
|
}
|
|
437
|
-
})
|
|
446
|
+
})
|
|
438
447
|
}
|
|
439
448
|
|
|
440
449
|
if (typeof body === 'object')
|
package/src/client.test.ts
CHANGED
|
@@ -210,9 +210,7 @@ describe('client', () => {
|
|
|
210
210
|
expect(data).toMatchInlineSnapshot(
|
|
211
211
|
`"this string will not be parsed as json"`,
|
|
212
212
|
)
|
|
213
|
-
expect(error).toMatchInlineSnapshot(
|
|
214
|
-
`null`,
|
|
215
|
-
)
|
|
213
|
+
expect(error).toMatchInlineSnapshot(`null`)
|
|
216
214
|
})
|
|
217
215
|
|
|
218
216
|
it('stream ', async () => {
|
|
@@ -271,3 +269,11 @@ describe('client', () => {
|
|
|
271
269
|
// expect(value).toEqual('Kirifuji Nagisa')
|
|
272
270
|
// })
|
|
273
271
|
})
|
|
272
|
+
|
|
273
|
+
describe('client as promise', () => {
|
|
274
|
+
it('should work with async client', async () => {
|
|
275
|
+
const asyncClient = Promise.resolve(client)
|
|
276
|
+
const { data } = await (await asyncClient).mirror.post({ test: 'value' })
|
|
277
|
+
expect(data).toEqual({ test: 'value' })
|
|
278
|
+
}, 200)
|
|
279
|
+
})
|
package/src/middleware.test.ts
CHANGED
|
@@ -358,7 +358,7 @@ test('each middleware and route is called exactly once if an error is thrown', a
|
|
|
358
358
|
const res = await app.handle(new Request('http://localhost/test'))
|
|
359
359
|
|
|
360
360
|
expect(res.status).toBe(500)
|
|
361
|
-
expect(await res.text()).
|
|
361
|
+
expect(await res.text()).toMatchInlineSnapshot(`"{"message":"Route response"}"`)
|
|
362
362
|
expect(callOrder).toEqual(['middleware1', 'middleware2', 'middleware3', 'route'])
|
|
363
363
|
|
|
364
364
|
// Check that each middleware and route is called exactly once
|