@kivia/sdk 0.1.1 → 0.1.3
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 +20 -1
- package/dist/client.d.ts +7 -1
- package/dist/client.js +25 -1
- package/dist/fastify.d.ts +0 -1
- package/dist/fastify.js +0 -1
- package/dist/hono.d.ts +12 -0
- package/dist/hono.js +18 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/types.d.ts +0 -1
- package/dist/types.js +0 -1
- package/package.json +1 -1
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js.map +0 -1
- package/dist/fastify.d.ts.map +0 -1
- package/dist/fastify.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Kivia TypeScript SDK
|
|
2
2
|
|
|
3
|
-
The Kivia TypeScript SDK is the official Node.js client for the Kivia observability platform. It allows Node.js developers using Express or
|
|
3
|
+
The Kivia TypeScript SDK is the official Node.js client for the Kivia observability platform. It allows Node.js developers using Express, Fastify, or Hono to instantly track API request metrics, response times, and paths.
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
@@ -76,3 +76,22 @@ fastify.get('/hello', async (request, reply) => {
|
|
|
76
76
|
|
|
77
77
|
fastify.listen({ port: 3000 });
|
|
78
78
|
```
|
|
79
|
+
|
|
80
|
+
## Quick Start (with Hono)
|
|
81
|
+
|
|
82
|
+
```typescript
|
|
83
|
+
import { Hono } from 'hono';
|
|
84
|
+
import { kiviaHonoMiddleware } from '@kivia/sdk';
|
|
85
|
+
|
|
86
|
+
const app = new Hono();
|
|
87
|
+
|
|
88
|
+
app.use('*', kiviaHonoMiddleware({
|
|
89
|
+
apiKey: 'YOUR_KIVIA_API_KEY',
|
|
90
|
+
}));
|
|
91
|
+
|
|
92
|
+
app.get('/hello', (c) => {
|
|
93
|
+
return c.json({ message: 'Hello from Kivia TS SDK using Hono!' });
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
export default app;
|
|
97
|
+
```
|
package/dist/client.d.ts
CHANGED
|
@@ -12,6 +12,12 @@ export declare class KiviaClient {
|
|
|
12
12
|
* Usage: fastify.addHook('onResponse', kiviaClient.logFastifyOnResponse());
|
|
13
13
|
*/
|
|
14
14
|
logFastifyOnResponse(): (request: any, reply: any) => Promise<void>;
|
|
15
|
+
/**
|
|
16
|
+
* Hono middleware for automatically logging requests.
|
|
17
|
+
*
|
|
18
|
+
* Usage with Hono:
|
|
19
|
+
* app.use('*', kiviaClient.logHono());
|
|
20
|
+
*/
|
|
21
|
+
logHono(): (c: any, next: any) => Promise<void>;
|
|
15
22
|
private sendLog;
|
|
16
23
|
}
|
|
17
|
-
//# sourceMappingURL=client.d.ts.map
|
package/dist/client.js
CHANGED
|
@@ -47,6 +47,31 @@ class KiviaClient {
|
|
|
47
47
|
this.sendLog(logEntry);
|
|
48
48
|
};
|
|
49
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* Hono middleware for automatically logging requests.
|
|
52
|
+
*
|
|
53
|
+
* Usage with Hono:
|
|
54
|
+
* app.use('*', kiviaClient.logHono());
|
|
55
|
+
*/
|
|
56
|
+
logHono() {
|
|
57
|
+
return async (c, next) => {
|
|
58
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
59
|
+
const start = Date.now();
|
|
60
|
+
await next();
|
|
61
|
+
const latency = Date.now() - start;
|
|
62
|
+
const logEntry = {
|
|
63
|
+
path: c.req.path || c.req.url,
|
|
64
|
+
status: c.res.status,
|
|
65
|
+
ip_address: ((_c = (_b = (_a = c.req).header) === null || _b === void 0 ? void 0 : _b.call(_a, 'x-forwarded-for')) === null || _c === void 0 ? void 0 : _c.split(',')[0]) ||
|
|
66
|
+
((_e = (_d = c.req).header) === null || _e === void 0 ? void 0 : _e.call(_d, 'x-real-ip')) ||
|
|
67
|
+
((_h = (_g = (_f = c.req.raw) === null || _f === void 0 ? void 0 : _f.headers) === null || _g === void 0 ? void 0 : _g['x-forwarded-for']) === null || _h === void 0 ? void 0 : _h.split(',')[0]) ||
|
|
68
|
+
((_k = (_j = c.req.raw) === null || _j === void 0 ? void 0 : _j.socket) === null || _k === void 0 ? void 0 : _k.remoteAddress),
|
|
69
|
+
timestamp: new Date().toISOString(),
|
|
70
|
+
latency,
|
|
71
|
+
};
|
|
72
|
+
this.sendLog(logEntry);
|
|
73
|
+
};
|
|
74
|
+
}
|
|
50
75
|
async sendLog(logEntry) {
|
|
51
76
|
try {
|
|
52
77
|
const response = await fetch(`${this.baseUrl}/logs/create`, {
|
|
@@ -68,4 +93,3 @@ class KiviaClient {
|
|
|
68
93
|
}
|
|
69
94
|
}
|
|
70
95
|
exports.KiviaClient = KiviaClient;
|
|
71
|
-
//# sourceMappingURL=client.js.map
|
package/dist/fastify.d.ts
CHANGED
package/dist/fastify.js
CHANGED
package/dist/hono.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { KiviaClientOptions } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Hono middleware factory for Kivia observability.
|
|
4
|
+
*
|
|
5
|
+
* Usage:
|
|
6
|
+
* import { Hono } from 'hono';
|
|
7
|
+
* import { kiviaHonoMiddleware } from '@kivia/sdk';
|
|
8
|
+
*
|
|
9
|
+
* const app = new Hono();
|
|
10
|
+
* app.use('*', kiviaHonoMiddleware({ apiKey: 'YOUR_KIVIA_API_KEY' }));
|
|
11
|
+
*/
|
|
12
|
+
export declare function kiviaHonoMiddleware(options: KiviaClientOptions): (c: any, next: any) => Promise<void>;
|
package/dist/hono.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.kiviaHonoMiddleware = kiviaHonoMiddleware;
|
|
4
|
+
const client_1 = require("./client");
|
|
5
|
+
/**
|
|
6
|
+
* Hono middleware factory for Kivia observability.
|
|
7
|
+
*
|
|
8
|
+
* Usage:
|
|
9
|
+
* import { Hono } from 'hono';
|
|
10
|
+
* import { kiviaHonoMiddleware } from '@kivia/sdk';
|
|
11
|
+
*
|
|
12
|
+
* const app = new Hono();
|
|
13
|
+
* app.use('*', kiviaHonoMiddleware({ apiKey: 'YOUR_KIVIA_API_KEY' }));
|
|
14
|
+
*/
|
|
15
|
+
function kiviaHonoMiddleware(options) {
|
|
16
|
+
const client = new client_1.KiviaClient(options);
|
|
17
|
+
return client.logHono();
|
|
18
|
+
}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -17,4 +17,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./types"), exports);
|
|
18
18
|
__exportStar(require("./client"), exports);
|
|
19
19
|
__exportStar(require("./fastify"), exports);
|
|
20
|
-
|
|
20
|
+
__exportStar(require("./hono"), exports);
|
package/dist/types.d.ts
CHANGED
package/dist/types.js
CHANGED
package/package.json
CHANGED
package/dist/client.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAO,MAAM,SAAS,CAAC;AAElD,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,EAAE,kBAAkB;IAKvC;;OAEG;IACI,aAAa,KACV,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG;IAsBvC;;;OAGG;IACI,oBAAoB,KACX,SAAS,GAAG,EAAE,OAAO,GAAG;YAgB1B,OAAO;CAmBtB"}
|
package/dist/client.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;AAEA,MAAa,WAAW;IAItB,YAAY,OAA2B;QACrC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,qDAAqD,CAAC;IAC1F,CAAC;IAED;;OAEG;IACI,aAAa;QAClB,OAAO,CAAC,GAAQ,EAAE,GAAQ,EAAE,IAAS,EAAE,EAAE;YACvC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAEzB,oCAAoC;YACpC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;;gBACpB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;gBAEnC,MAAM,QAAQ,GAAQ;oBACpB,IAAI,EAAE,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,GAAG;oBAChC,MAAM,EAAE,GAAG,CAAC,UAAU;oBACtB,UAAU,EAAE,GAAG,CAAC,EAAE,KAAI,MAAA,GAAG,CAAC,UAAU,0CAAE,aAAa,CAAA;oBACnD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,OAAO;iBACR,CAAC;gBAEF,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC;YAEH,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACI,oBAAoB;QACzB,OAAO,KAAK,EAAE,OAAY,EAAE,KAAU,EAAE,EAAE;;YACxC,uEAAuE;YACvE,MAAM,OAAO,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAEpE,MAAM,QAAQ,GAAQ;gBACpB,IAAI,EAAE,OAAO,CAAC,GAAG,KAAI,MAAA,OAAO,CAAC,GAAG,0CAAE,GAAG,CAAA;gBACrC,MAAM,EAAE,KAAK,CAAC,UAAU,KAAI,MAAA,KAAK,CAAC,GAAG,0CAAE,UAAU,CAAA;gBACjD,UAAU,EAAE,OAAO,CAAC,EAAE,KAAI,MAAA,MAAA,OAAO,CAAC,GAAG,0CAAE,UAAU,0CAAE,aAAa,CAAA;gBAChE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;aAC7B,CAAC;YAEF,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,QAAa;QACjC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,cAAc,EAAE;gBAC1D,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,iBAAiB,EAAE,IAAI,CAAC,MAAM;iBAC/B;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;aAC/B,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACtC,OAAO,CAAC,KAAK,CAAC,2BAA2B,QAAQ,CAAC,MAAM,MAAM,OAAO,EAAE,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;CACF;AA3ED,kCA2EC"}
|
package/dist/fastify.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fastify.d.ts","sourceRoot":"","sources":["../src/fastify.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,kBAAkB,iBAGjF"}
|
package/dist/fastify.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fastify.js","sourceRoot":"","sources":["../src/fastify.ts"],"names":[],"mappings":";;AAOA,gDAGC;AAVD,qCAAuC;AAGvC;;;GAGG;AACI,KAAK,UAAU,kBAAkB,CAAC,OAAY,EAAE,OAA2B;IAChF,MAAM,MAAM,GAAG,IAAI,oBAAW,CAAC,OAAO,CAAC,CAAC;IACxC,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC;AAC/D,CAAC"}
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC"}
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,2CAAyB;AACzB,4CAA0B"}
|
package/dist/types.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAG;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
|
package/dist/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|