@tinyweb_dev/tracking-mcp-server 0.3.0 → 0.4.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.
- package/.env.example +6 -2
- package/CHANGELOG.md +58 -0
- package/README.md +47 -7
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +1 -4
- package/dist/config.js.map +1 -1
- package/dist/http-client.d.ts.map +1 -1
- package/dist/http-client.js.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +8 -3
- package/dist/prompts/index.js.map +1 -1
- package/dist/prompts/install-sdk.d.ts +25 -0
- package/dist/prompts/install-sdk.d.ts.map +1 -0
- package/dist/prompts/install-sdk.js +180 -0
- package/dist/prompts/install-sdk.js.map +1 -0
- package/dist/resources/index.d.ts.map +1 -1
- package/dist/resources/index.js.map +1 -1
- package/dist/schemas/common.d.ts.map +1 -1
- package/dist/schemas/common.js +1 -1
- package/dist/schemas/common.js.map +1 -1
- package/dist/schemas/incident.d.ts.map +1 -1
- package/dist/schemas/incident.js +1 -3
- package/dist/schemas/incident.js.map +1 -1
- package/dist/schemas/invitation.d.ts.map +1 -1
- package/dist/schemas/invitation.js +7 -8
- package/dist/schemas/invitation.js.map +1 -1
- package/dist/schemas/monitor.d.ts.map +1 -1
- package/dist/schemas/monitor.js +2 -9
- package/dist/schemas/monitor.js.map +1 -1
- package/dist/schemas/recipient-group.d.ts.map +1 -1
- package/dist/schemas/recipient-group.js +2 -9
- package/dist/schemas/recipient-group.js.map +1 -1
- package/dist/schemas/service.d.ts +0 -3
- package/dist/schemas/service.d.ts.map +1 -1
- package/dist/schemas/service.js +0 -1
- package/dist/schemas/service.js.map +1 -1
- package/dist/schemas/status-page.d.ts.map +1 -1
- package/dist/schemas/status-page.js +2 -5
- package/dist/schemas/status-page.js.map +1 -1
- package/dist/sdk-install/frameworks/express.d.ts +9 -0
- package/dist/sdk-install/frameworks/express.d.ts.map +1 -0
- package/dist/sdk-install/frameworks/express.js +81 -0
- package/dist/sdk-install/frameworks/express.js.map +1 -0
- package/dist/sdk-install/frameworks/nestjs.d.ts +12 -0
- package/dist/sdk-install/frameworks/nestjs.d.ts.map +1 -0
- package/dist/sdk-install/frameworks/nestjs.js +193 -0
- package/dist/sdk-install/frameworks/nestjs.js.map +1 -0
- package/dist/sdk-install/frameworks/node.d.ts +13 -0
- package/dist/sdk-install/frameworks/node.d.ts.map +1 -0
- package/dist/sdk-install/frameworks/node.js +107 -0
- package/dist/sdk-install/frameworks/node.js.map +1 -0
- package/dist/sdk-install/frameworks/react.d.ts +11 -0
- package/dist/sdk-install/frameworks/react.d.ts.map +1 -0
- package/dist/sdk-install/frameworks/react.js +100 -0
- package/dist/sdk-install/frameworks/react.js.map +1 -0
- package/dist/sdk-install/frameworks/vue.d.ts +11 -0
- package/dist/sdk-install/frameworks/vue.d.ts.map +1 -0
- package/dist/sdk-install/frameworks/vue.js +85 -0
- package/dist/sdk-install/frameworks/vue.js.map +1 -0
- package/dist/sdk-install/instructions.d.ts +43 -0
- package/dist/sdk-install/instructions.d.ts.map +1 -0
- package/dist/sdk-install/instructions.js +86 -0
- package/dist/sdk-install/instructions.js.map +1 -0
- package/dist/sdk-install/types.d.ts +84 -0
- package/dist/sdk-install/types.d.ts.map +1 -0
- package/dist/sdk-install/types.js +15 -0
- package/dist/sdk-install/types.js.map +1 -0
- package/dist/tools/_helpers.d.ts.map +1 -1
- package/dist/tools/_helpers.js.map +1 -1
- package/dist/tools/errors.d.ts.map +1 -1
- package/dist/tools/errors.js +1 -1
- package/dist/tools/errors.js.map +1 -1
- package/dist/tools/incidents.d.ts.map +1 -1
- package/dist/tools/incidents.js +1 -2
- package/dist/tools/incidents.js.map +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +3 -1
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/invitations.d.ts.map +1 -1
- package/dist/tools/invitations.js +1 -1
- package/dist/tools/invitations.js.map +1 -1
- package/dist/tools/monitors.d.ts.map +1 -1
- package/dist/tools/monitors.js +3 -3
- package/dist/tools/monitors.js.map +1 -1
- package/dist/tools/organizations.d.ts.map +1 -1
- package/dist/tools/organizations.js +5 -8
- package/dist/tools/organizations.js.map +1 -1
- package/dist/tools/projects.d.ts.map +1 -1
- package/dist/tools/projects.js +5 -8
- package/dist/tools/projects.js.map +1 -1
- package/dist/tools/recipient-groups.d.ts.map +1 -1
- package/dist/tools/recipient-groups.js +1 -1
- package/dist/tools/recipient-groups.js.map +1 -1
- package/dist/tools/sdk-install.d.ts +24 -0
- package/dist/tools/sdk-install.d.ts.map +1 -0
- package/dist/tools/sdk-install.js +79 -0
- package/dist/tools/sdk-install.js.map +1 -0
- package/dist/tools/services.d.ts.map +1 -1
- package/dist/tools/services.js +8 -6
- package/dist/tools/services.js.map +1 -1
- package/dist/tools/status-pages.d.ts.map +1 -1
- package/dist/tools/status-pages.js +5 -8
- package/dist/tools/status-pages.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/schemas/common.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,kDAAkD;AAClD,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAE1D;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC;KAC1B,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,EAAE,gCAAgC,CAAC;KACxC,GAAG,CAAC,GAAG,EAAE,8BAA8B,CAAC;KACxC,KAAK,
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/schemas/common.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,kDAAkD;AAClD,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAE1D;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC;KAC1B,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,EAAE,gCAAgC,CAAC;KACxC,GAAG,CAAC,GAAG,EAAE,8BAA8B,CAAC;KACxC,KAAK,CAAC,kBAAkB,EAAE,oEAAoE,CAAC,CAAC;AAEnG;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,YAAY,CAAC,QAAQ,CAC/C,0EAA0E;IACxE,4EAA4E;IAC5E,iCAAiC,CACpC,CAAC;AAEF,+EAA+E;AAC/E,MAAM,CAAC,MAAM,kBAAkB,GAAG,YAAY,CAAC,QAAQ,CACrD,oEAAoE;IAClE,oDAAoD,CACvD,CAAC;AAEF,qDAAqD;AACrD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAEnE,0DAA0D;AAC1D,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC;KACxB,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,GAAG,CAAC,GAAG,CAAC;KACR,KAAK,CAAC,4BAA4B,EAAE,kDAAkD,CAAC,CAAC;AAE3F,+CAA+C;AAC/C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAC1F,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;CAC/E,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC;KAC3B,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,QAAQ,CACP,yFAAyF;IACvF,+CAA+C,CAClD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"incident.d.ts","sourceRoot":"","sources":["../../src/schemas/incident.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,oBAAoB,sEAK/B,CAAC;AACH,eAAO,MAAM,oBAAoB,mDAAiD,CAAC;AAEnF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"incident.d.ts","sourceRoot":"","sources":["../../src/schemas/incident.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,oBAAoB,sEAK/B,CAAC;AACH,eAAO,MAAM,oBAAoB,mDAAiD,CAAC;AAEnF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;EAM/B,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;EAK/B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;EAGlC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;EAM/B,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWzB,CAAC"}
|
package/dist/schemas/incident.js
CHANGED
|
@@ -16,9 +16,7 @@ export const createIncidentSchema = z.object({
|
|
|
16
16
|
title: z.string().min(1).describe('Short incident title'),
|
|
17
17
|
status: incidentStatusSchema,
|
|
18
18
|
impact: incidentImpactSchema,
|
|
19
|
-
componentIds: z
|
|
20
|
-
.array(idSchema)
|
|
21
|
-
.describe('Component UUIDs affected by this incident'),
|
|
19
|
+
componentIds: z.array(idSchema).describe('Component UUIDs affected by this incident'),
|
|
22
20
|
message: z.string().optional().describe('Initial update message'),
|
|
23
21
|
});
|
|
24
22
|
export const updateIncidentSchema = z.object({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"incident.js","sourceRoot":"","sources":["../../src/schemas/incident.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC;IACzC,eAAe;IACf,YAAY;IACZ,YAAY;IACZ,UAAU;CACX,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;AAKnF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IACzD,MAAM,EAAE,oBAAoB;IAC5B,MAAM,EAAE,oBAAoB;IAC5B,YAAY,EAAE,CAAC
|
|
1
|
+
{"version":3,"file":"incident.js","sourceRoot":"","sources":["../../src/schemas/incident.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC;IACzC,eAAe;IACf,YAAY;IACZ,YAAY;IACZ,UAAU;CACX,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;AAKnF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IACzD,MAAM,EAAE,oBAAoB;IAC5B,MAAM,EAAE,oBAAoB;IAC5B,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IACrF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;CAClE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACnC,MAAM,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IACvC,MAAM,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IACvC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,MAAM,EAAE,oBAAoB;IAC5B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC;CACrE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,EAAE,EAAE,QAAQ;IACZ,UAAU,EAAE,QAAQ;IACpB,MAAM,EAAE,oBAAoB;IAC5B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,EAAE,EAAE,QAAQ;IACZ,YAAY,EAAE,QAAQ;IACtB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,MAAM,EAAE,oBAAoB;IAC5B,MAAM,EAAE,oBAAoB;IAC5B,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE;IAC1C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC5C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE;CAClD,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invitation.d.ts","sourceRoot":"","sources":["../../src/schemas/invitation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,oBAAoB,iCAA+B,CAAC;AACjE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,sBAAsB,
|
|
1
|
+
{"version":3,"file":"invitation.d.ts","sourceRoot":"","sources":["../../src/schemas/invitation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,oBAAoB,iCAA+B,CAAC;AACjE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,sBAAsB,4DAA0D,CAAC;AAE9F;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;;;;CAYxB,CAAC;AAEX,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;EAUhC,CAAC;AAEJ,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAU3B,CAAC"}
|
|
@@ -7,12 +7,7 @@ import { z } from 'zod';
|
|
|
7
7
|
import { idSchema, invitationIdSchema } from './common.js';
|
|
8
8
|
import { projectRoleSchema } from './project.js';
|
|
9
9
|
export const invitationRoleSchema = z.enum(['member', 'viewer']);
|
|
10
|
-
export const invitationStatusSchema = z.enum([
|
|
11
|
-
'pending',
|
|
12
|
-
'accepted',
|
|
13
|
-
'expired',
|
|
14
|
-
'cancelled',
|
|
15
|
-
]);
|
|
10
|
+
export const invitationStatusSchema = z.enum(['pending', 'accepted', 'expired', 'cancelled']);
|
|
16
11
|
/**
|
|
17
12
|
* Raw shape exposed so MCP tool authors can spread it into `inputSchema`
|
|
18
13
|
* (which expects a ZodRawShape, not a ZodEffects).
|
|
@@ -20,9 +15,13 @@ export const invitationStatusSchema = z.enum([
|
|
|
20
15
|
export const createInvitationShape = {
|
|
21
16
|
email: z.string().email(),
|
|
22
17
|
role: invitationRoleSchema,
|
|
23
|
-
pendingProjectId: idSchema
|
|
18
|
+
pendingProjectId: idSchema
|
|
19
|
+
.optional()
|
|
20
|
+
.describe('Optional project UUID to pre-assign the invitee to on accept. ' +
|
|
24
21
|
'Must be supplied together with pendingProjectRole.'),
|
|
25
|
-
pendingProjectRole: projectRoleSchema
|
|
22
|
+
pendingProjectRole: projectRoleSchema
|
|
23
|
+
.optional()
|
|
24
|
+
.describe('Project role to grant on accept. Required when pendingProjectId is supplied.'),
|
|
26
25
|
};
|
|
27
26
|
export const createInvitationSchema = z
|
|
28
27
|
.object(createInvitationShape)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invitation.js","sourceRoot":"","sources":["../../src/schemas/invitation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;AAGjE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI,CAAC
|
|
1
|
+
{"version":3,"file":"invitation.js","sourceRoot":"","sources":["../../src/schemas/invitation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;AAGjE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;AAE9F;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE;IACzB,IAAI,EAAE,oBAAoB;IAC1B,gBAAgB,EAAE,QAAQ;SACvB,QAAQ,EAAE;SACV,QAAQ,CACP,gEAAgE;QAC9D,oDAAoD,CACvD;IACH,kBAAkB,EAAE,iBAAiB;SAClC,QAAQ,EAAE;SACV,QAAQ,CAAC,8EAA8E,CAAC;CACnF,CAAC;AAEX,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC;KACpC,MAAM,CAAC,qBAAqB,CAAC;KAC7B,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CACP,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC;IAClE,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,EACpE;IACE,OAAO,EAAE,8DAA8D;IACvE,IAAI,EAAE,CAAC,kBAAkB,CAAC;CAC3B,CACF,CAAC;AAEJ,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,EAAE,EAAE,kBAAkB;IACtB,cAAc,EAAE,QAAQ;IACxB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE;IACzB,IAAI,EAAE,oBAAoB;IAC1B,MAAM,EAAE,sBAAsB;IAC9B,gBAAgB,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAChD,kBAAkB,EAAE,iBAAiB,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC3D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monitor.d.ts","sourceRoot":"","sources":["../../src/schemas/monitor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,iBAAiB,2DAAyD,CAAC;AACxF,eAAO,MAAM,mBAAmB,oCAAkC,CAAC;AACnE,eAAO,MAAM,mBAAmB,iCAA+B,CAAC;AAEhE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"monitor.d.ts","sourceRoot":"","sources":["../../src/schemas/monitor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,iBAAiB,2DAAyD,CAAC;AACxF,eAAO,MAAM,mBAAmB,oCAAkC,CAAC;AACnE,eAAO,MAAM,mBAAmB,iCAA+B,CAAC;AAEhE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+B9B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAgC,CAAC;AAEjE,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmBxB,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;EAQ5B,CAAC"}
|
package/dist/schemas/monitor.js
CHANGED
|
@@ -12,11 +12,7 @@ export const monitorStatusSchema = z.enum(['active', 'paused']);
|
|
|
12
12
|
export const createMonitorSchema = z.object({
|
|
13
13
|
name: z.string().min(1).max(255).describe('Human-readable monitor name'),
|
|
14
14
|
type: monitorTypeSchema.optional().describe('Defaults to http'),
|
|
15
|
-
url: z
|
|
16
|
-
.string()
|
|
17
|
-
.min(1)
|
|
18
|
-
.max(2048)
|
|
19
|
-
.describe('URL (http/keyword/ssl_cert) or hostname (ping/tcp)'),
|
|
15
|
+
url: z.string().min(1).max(2048).describe('URL (http/keyword/ssl_cert) or hostname (ping/tcp)'),
|
|
20
16
|
port: z.number().int().min(1).max(65535).optional().describe('Port (tcp only)'),
|
|
21
17
|
method: monitorMethodSchema.optional().describe('HTTP method, defaults to GET'),
|
|
22
18
|
interval: z.number().int().min(30).describe('Check interval in seconds (>=30)'),
|
|
@@ -27,10 +23,7 @@ export const createMonitorSchema = z.object({
|
|
|
27
23
|
.min(1)
|
|
28
24
|
.optional()
|
|
29
25
|
.describe('Acceptable HTTP status codes, e.g. [200, 201]'),
|
|
30
|
-
expectedContent: z
|
|
31
|
-
.string()
|
|
32
|
-
.optional()
|
|
33
|
-
.describe('Required substring (keyword/http types)'),
|
|
26
|
+
expectedContent: z.string().optional().describe('Required substring (keyword/http types)'),
|
|
34
27
|
metadata: z
|
|
35
28
|
.record(z.unknown())
|
|
36
29
|
.optional()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monitor.js","sourceRoot":"","sources":["../../src/schemas/monitor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;AACxF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;AAMhE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IACxE,IAAI,EAAE,iBAAiB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IAC/D,GAAG,EAAE,CAAC
|
|
1
|
+
{"version":3,"file":"monitor.js","sourceRoot":"","sources":["../../src/schemas/monitor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;AACxF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;AAMhE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IACxE,IAAI,EAAE,iBAAiB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IAC/D,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,oDAAoD,CAAC;IAC/F,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAC/E,MAAM,EAAE,mBAAmB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAC/E,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IAC/E,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IAChF,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IACxE,cAAc,EAAE,CAAC;SACd,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC;SACvB,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,+CAA+C,CAAC;IAC5D,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IAC1F,QAAQ,EAAE,CAAC;SACR,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SACnB,QAAQ,EAAE;SACV,QAAQ,CAAC,0DAA0D,CAAC;IACvE,gBAAgB,EAAE,CAAC;SAChB,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,4CAA4C,CAAC;IACzD,qBAAqB,EAAE,CAAC;SACrB,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,GAAG,CAAC,EAAE,CAAC;SACP,QAAQ,EAAE;SACV,QAAQ,CAAC,6CAA6C,CAAC;CAC3D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,OAAO,EAAE,CAAC;AAEjE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,EAAE,EAAE,QAAQ;IACZ,SAAS,EAAE,QAAQ;IACnB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,iBAAiB;IACvB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC5C,MAAM,EAAE,mBAAmB;IAC3B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAC1B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IACzB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACnD,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC/D,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACjD,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACrD,qBAAqB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACrD,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAClC,MAAM,EAAE,mBAAmB;IAC3B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,EAAE,EAAE,QAAQ;IACZ,SAAS,EAAE,QAAQ;IACnB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC7C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC9C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAClD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC9C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recipient-group.d.ts","sourceRoot":"","sources":["../../src/schemas/recipient-group.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,0BAA0B;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"recipient-group.d.ts","sourceRoot":"","sources":["../../src/schemas/recipient-group.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,0BAA0B;;;;;;;;;EAGrC,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;EAAuC,CAAC;AAE/E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;EAO/B,CAAC"}
|
|
@@ -8,15 +8,8 @@
|
|
|
8
8
|
import { z } from 'zod';
|
|
9
9
|
import { idSchema } from './common.js';
|
|
10
10
|
export const createRecipientGroupSchema = z.object({
|
|
11
|
-
name: z
|
|
12
|
-
|
|
13
|
-
.min(1)
|
|
14
|
-
.max(64)
|
|
15
|
-
.describe('Group identifier (e.g. "oncall", "devs")'),
|
|
16
|
-
emails: z
|
|
17
|
-
.array(z.string().email())
|
|
18
|
-
.min(1)
|
|
19
|
-
.describe('Unique email addresses in this group'),
|
|
11
|
+
name: z.string().min(1).max(64).describe('Group identifier (e.g. "oncall", "devs")'),
|
|
12
|
+
emails: z.array(z.string().email()).min(1).describe('Unique email addresses in this group'),
|
|
20
13
|
});
|
|
21
14
|
export const updateRecipientGroupSchema = createRecipientGroupSchema.partial();
|
|
22
15
|
export const recipientGroupSchema = z.object({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recipient-group.js","sourceRoot":"","sources":["../../src/schemas/recipient-group.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,IAAI,EAAE,CAAC
|
|
1
|
+
{"version":3,"file":"recipient-group.js","sourceRoot":"","sources":["../../src/schemas/recipient-group.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,0CAA0C,CAAC;IACpF,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sCAAsC,CAAC;CAC5F,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG,0BAA0B,CAAC,OAAO,EAAE,CAAC;AAE/E,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,EAAE,EAAE,QAAQ;IACZ,SAAS,EAAE,QAAQ;IACnB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;IACnC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC"}
|
|
@@ -46,7 +46,6 @@ export declare const serviceSchema: z.ZodObject<{
|
|
|
46
46
|
slug: z.ZodString;
|
|
47
47
|
language: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
48
48
|
apiKeyPrefix: z.ZodOptional<z.ZodString>;
|
|
49
|
-
isDefault: z.ZodBoolean;
|
|
50
49
|
createdAt: z.ZodOptional<z.ZodString>;
|
|
51
50
|
updatedAt: z.ZodOptional<z.ZodString>;
|
|
52
51
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -54,7 +53,6 @@ export declare const serviceSchema: z.ZodObject<{
|
|
|
54
53
|
slug: string;
|
|
55
54
|
id: string;
|
|
56
55
|
projectId: string;
|
|
57
|
-
isDefault: boolean;
|
|
58
56
|
createdAt?: string | undefined;
|
|
59
57
|
updatedAt?: string | undefined;
|
|
60
58
|
apiKeyPrefix?: string | undefined;
|
|
@@ -64,7 +62,6 @@ export declare const serviceSchema: z.ZodObject<{
|
|
|
64
62
|
slug: string;
|
|
65
63
|
id: string;
|
|
66
64
|
projectId: string;
|
|
67
|
-
isDefault: boolean;
|
|
68
65
|
createdAt?: string | undefined;
|
|
69
66
|
updatedAt?: string | undefined;
|
|
70
67
|
apiKeyPrefix?: string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/schemas/service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,aAM/B,CAAC;AAEJ,eAAO,MAAM,mBAAmB;;;;;;;;;;;;EAU9B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;EAG9B,CAAC;AAEH,eAAO,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/schemas/service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,aAM/B,CAAC;AAEJ,eAAO,MAAM,mBAAmB;;;;;;;;;;;;EAU9B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;EAG9B,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;EASxB,CAAC"}
|
package/dist/schemas/service.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/schemas/service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACnC,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,GAAG,CAAC,EAAE,CAAC;KACP,QAAQ,CACP,gGAAgG,CACjG,CAAC;AAEJ,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAChC,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,GAAG,CAAC;SACR,KAAK,CAAC,cAAc,EAAE,oDAAoD,CAAC;SAC3E,QAAQ,EAAE;SACV,QAAQ,CAAC,4DAA4D,CAAC;IACzE,QAAQ,EAAE,qBAAqB,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAC3C,QAAQ,EAAE,qBAAqB,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,EAAE,EAAE,QAAQ;IACZ,SAAS,EAAE,QAAQ;IACnB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC1C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,SAAS,EAAE,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/schemas/service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACnC,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,GAAG,CAAC,EAAE,CAAC;KACP,QAAQ,CACP,gGAAgG,CACjG,CAAC;AAEJ,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAChC,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,GAAG,CAAC;SACR,KAAK,CAAC,cAAc,EAAE,oDAAoD,CAAC;SAC3E,QAAQ,EAAE;SACV,QAAQ,CAAC,4DAA4D,CAAC;IACzE,QAAQ,EAAE,qBAAqB,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAC3C,QAAQ,EAAE,qBAAqB,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,EAAE,EAAE,QAAQ;IACZ,SAAS,EAAE,QAAQ;IACnB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC1C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status-page.d.ts","sourceRoot":"","sources":["../../src/schemas/status-page.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,WAAW,8BAA4B,CAAC;AACrD,eAAO,MAAM,qBAAqB,sFAKhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;EAUjC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;EAAmC,CAAC;AAEvE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;EAQhC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;EAAkC,CAAC;AAErE,eAAO,MAAM,uBAAuB;;;;;;
|
|
1
|
+
{"version":3,"file":"status-page.d.ts","sourceRoot":"","sources":["../../src/schemas/status-page.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,WAAW,8BAA4B,CAAC;AACrD,eAAO,MAAM,qBAAqB,sFAKhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;EAUjC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;EAAmC,CAAC;AAEvE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;EAQhC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;EAAkC,CAAC;AAErE,eAAO,MAAM,uBAAuB;;;;;;EAElC,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAU3B,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;EAQ1B,CAAC"}
|
|
@@ -32,14 +32,11 @@ export const createComponentSchema = z.object({
|
|
|
32
32
|
monitorIds: z
|
|
33
33
|
.array(idSchema)
|
|
34
34
|
.optional()
|
|
35
|
-
.describe(
|
|
35
|
+
.describe("UUIDs of monitors that drive this component's status"),
|
|
36
36
|
});
|
|
37
37
|
export const updateComponentSchema = createComponentSchema.partial();
|
|
38
38
|
export const reorderComponentsSchema = z.object({
|
|
39
|
-
componentIds: z
|
|
40
|
-
.array(idSchema)
|
|
41
|
-
.min(1)
|
|
42
|
-
.describe('Component UUIDs in their new display order'),
|
|
39
|
+
componentIds: z.array(idSchema).min(1).describe('Component UUIDs in their new display order'),
|
|
43
40
|
});
|
|
44
41
|
export const statusPageSchema = z.object({
|
|
45
42
|
id: idSchema,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status-page.js","sourceRoot":"","sources":["../../src/schemas/status-page.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AACrD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,IAAI,CAAC;IAC1C,aAAa;IACb,sBAAsB;IACtB,gBAAgB;IAChB,cAAc;CACf,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAChC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IACvE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACjC,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,KAAK,CAAC,mBAAmB,CAAC;SAC1B,QAAQ,EAAE;SACV,QAAQ,CAAC,yBAAyB,CAAC;IACtC,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,sBAAsB,CAAC,OAAO,EAAE,CAAC;AAEvE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAChC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,MAAM,EAAE,qBAAqB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IAC5E,UAAU,EAAE,CAAC;SACV,KAAK,CAAC,QAAQ,CAAC;SACf,QAAQ,EAAE;SACV,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"status-page.js","sourceRoot":"","sources":["../../src/schemas/status-page.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Install spec for Express / Connect-compatible applications.
|
|
3
|
+
*
|
|
4
|
+
* Mounts `createErrorMiddleware(tracker)` AFTER all routes so unhandled
|
|
5
|
+
* errors are captured with full request context (method, URL, headers, IP).
|
|
6
|
+
*/
|
|
7
|
+
import { type FrameworkInstallSpec } from '../types.js';
|
|
8
|
+
export declare const EXPRESS_SPEC: FrameworkInstallSpec;
|
|
9
|
+
//# sourceMappingURL=express.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"express.d.ts","sourceRoot":"","sources":["../../../src/sdk-install/frameworks/express.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAuB,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAE7E,eAAO,MAAM,YAAY,EAAE,oBA6E1B,CAAC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Install spec for Express / Connect-compatible applications.
|
|
3
|
+
*
|
|
4
|
+
* Mounts `createErrorMiddleware(tracker)` AFTER all routes so unhandled
|
|
5
|
+
* errors are captured with full request context (method, URL, headers, IP).
|
|
6
|
+
*/
|
|
7
|
+
import { API_KEY_PLACEHOLDER } from '../types.js';
|
|
8
|
+
export const EXPRESS_SPEC = {
|
|
9
|
+
framework: 'express',
|
|
10
|
+
displayName: 'Express',
|
|
11
|
+
summary: 'Express / Connect-compatible integration. Adds the Tiny Tracking ' +
|
|
12
|
+
'error middleware AFTER all routes so unhandled errors are captured ' +
|
|
13
|
+
'with full request context (method, URL, headers, IP).',
|
|
14
|
+
supportedVersions: 'Express ^4.x or ^5.x, Node.js >= 18',
|
|
15
|
+
packages: [
|
|
16
|
+
{
|
|
17
|
+
name: '@tinyweb_dev/tracking-nodejs',
|
|
18
|
+
version: '^0.1.0',
|
|
19
|
+
scope: 'dependencies',
|
|
20
|
+
},
|
|
21
|
+
],
|
|
22
|
+
envVariables: [
|
|
23
|
+
{
|
|
24
|
+
name: 'TINY_TRACKING_API_KEY',
|
|
25
|
+
example: API_KEY_PLACEHOLDER,
|
|
26
|
+
required: true,
|
|
27
|
+
description: 'Per-service ingest key from Project → Services (prefixed `tt_svc_`).',
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
name: 'TINY_TRACKING_ENDPOINT',
|
|
31
|
+
example: 'https://tracking-api.tinyweb.online',
|
|
32
|
+
required: false,
|
|
33
|
+
description: 'Override the ingest endpoint when self-hosting.',
|
|
34
|
+
},
|
|
35
|
+
],
|
|
36
|
+
fileChanges: [
|
|
37
|
+
{
|
|
38
|
+
path: '.env',
|
|
39
|
+
action: 'append',
|
|
40
|
+
description: 'Add the Tiny Tracking credentials.',
|
|
41
|
+
language: 'dotenv',
|
|
42
|
+
snippet: '# Tiny Tracking\n' + `TINY_TRACKING_API_KEY=${API_KEY_PLACEHOLDER}\n`,
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
path: 'src/tracking.ts',
|
|
46
|
+
action: 'create',
|
|
47
|
+
description: 'Singleton tracker — imported by both server bootstrap and route ' + 'handlers.',
|
|
48
|
+
language: 'typescript',
|
|
49
|
+
snippet: "import TinyTrackingNode from '@tinyweb_dev/tracking-nodejs';\n\n" +
|
|
50
|
+
'export const tracker = new TinyTrackingNode({\n' +
|
|
51
|
+
' apiKey: process.env.TINY_TRACKING_API_KEY!,\n' +
|
|
52
|
+
" environment: process.env.NODE_ENV ?? 'development',\n" +
|
|
53
|
+
'});\n',
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
path: 'src/app.ts',
|
|
57
|
+
action: 'modify',
|
|
58
|
+
description: 'Mount the error middleware AFTER all `app.use(routes)` calls. ' +
|
|
59
|
+
'Express only invokes error middleware (4-arg signature) when a ' +
|
|
60
|
+
'route calls `next(err)` or throws inside an async wrapper.',
|
|
61
|
+
language: 'typescript',
|
|
62
|
+
snippet: "import express from 'express';\n" +
|
|
63
|
+
"import { createErrorMiddleware } from '@tinyweb_dev/tracking-nodejs';\n" +
|
|
64
|
+
"import { tracker } from './tracking';\n\n" +
|
|
65
|
+
'const app = express();\n\n' +
|
|
66
|
+
'// ... your routes, e.g. app.use(...), app.get(...) ...\n\n' +
|
|
67
|
+
'// MUST be after all route handlers.\n' +
|
|
68
|
+
'app.use(createErrorMiddleware(tracker));\n\n' +
|
|
69
|
+
'export { app };\n',
|
|
70
|
+
},
|
|
71
|
+
],
|
|
72
|
+
verificationCommand: 'curl -sf http://localhost:3000/__nonexistent_route_to_trigger_error || true',
|
|
73
|
+
notes: [
|
|
74
|
+
'For async route handlers in Express 4, wrap them with ' +
|
|
75
|
+
'`express-async-errors` or a try/catch + next(err); otherwise rejected ' +
|
|
76
|
+
'promises bypass the error middleware. Express 5 handles this natively.',
|
|
77
|
+
'The middleware re-throws the error after capturing, so your own ' +
|
|
78
|
+
'4xx/5xx response shaping logic still runs downstream.',
|
|
79
|
+
],
|
|
80
|
+
};
|
|
81
|
+
//# sourceMappingURL=express.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"express.js","sourceRoot":"","sources":["../../../src/sdk-install/frameworks/express.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,mBAAmB,EAA6B,MAAM,aAAa,CAAC;AAE7E,MAAM,CAAC,MAAM,YAAY,GAAyB;IAChD,SAAS,EAAE,SAAS;IACpB,WAAW,EAAE,SAAS;IACtB,OAAO,EACL,mEAAmE;QACnE,qEAAqE;QACrE,uDAAuD;IACzD,iBAAiB,EAAE,qCAAqC;IACxD,QAAQ,EAAE;QACR;YACE,IAAI,EAAE,8BAA8B;YACpC,OAAO,EAAE,QAAQ;YACjB,KAAK,EAAE,cAAc;SACtB;KACF;IACD,YAAY,EAAE;QACZ;YACE,IAAI,EAAE,uBAAuB;YAC7B,OAAO,EAAE,mBAAmB;YAC5B,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,sEAAsE;SACpF;QACD;YACE,IAAI,EAAE,wBAAwB;YAC9B,OAAO,EAAE,qCAAqC;YAC9C,QAAQ,EAAE,KAAK;YACf,WAAW,EAAE,iDAAiD;SAC/D;KACF;IACD,WAAW,EAAE;QACX;YACE,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,oCAAoC;YACjD,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,mBAAmB,GAAG,yBAAyB,mBAAmB,IAAI;SAChF;QACD;YACE,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,kEAAkE,GAAG,WAAW;YAC7F,QAAQ,EAAE,YAAY;YACtB,OAAO,EACL,kEAAkE;gBAClE,iDAAiD;gBACjD,iDAAiD;gBACjD,yDAAyD;gBACzD,OAAO;SACV;QACD;YACE,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,QAAQ;YAChB,WAAW,EACT,gEAAgE;gBAChE,iEAAiE;gBACjE,4DAA4D;YAC9D,QAAQ,EAAE,YAAY;YACtB,OAAO,EACL,kCAAkC;gBAClC,yEAAyE;gBACzE,2CAA2C;gBAC3C,4BAA4B;gBAC5B,6DAA6D;gBAC7D,wCAAwC;gBACxC,8CAA8C;gBAC9C,mBAAmB;SACtB;KACF;IACD,mBAAmB,EACjB,6EAA6E;IAC/E,KAAK,EAAE;QACL,wDAAwD;YACtD,wEAAwE;YACxE,wEAAwE;QAC1E,kEAAkE;YAChE,uDAAuD;KAC1D;CACF,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Install spec for NestJS applications.
|
|
3
|
+
*
|
|
4
|
+
* Integrates via a dedicated `TinyTrackingModule` + global exception filter.
|
|
5
|
+
* The module exposes `TinyTrackingService` for manual captures; the filter
|
|
6
|
+
* auto-captures every unhandled 5xx exception with HTTP request context.
|
|
7
|
+
*
|
|
8
|
+
* Reference implementation: `examples/nestjs-demo/` in the tiny-tracking repo.
|
|
9
|
+
*/
|
|
10
|
+
import { type FrameworkInstallSpec } from '../types.js';
|
|
11
|
+
export declare const NESTJS_SPEC: FrameworkInstallSpec;
|
|
12
|
+
//# sourceMappingURL=nestjs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nestjs.d.ts","sourceRoot":"","sources":["../../../src/sdk-install/frameworks/nestjs.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAuB,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAE7E,eAAO,MAAM,WAAW,EAAE,oBAiMzB,CAAC"}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Install spec for NestJS applications.
|
|
3
|
+
*
|
|
4
|
+
* Integrates via a dedicated `TinyTrackingModule` + global exception filter.
|
|
5
|
+
* The module exposes `TinyTrackingService` for manual captures; the filter
|
|
6
|
+
* auto-captures every unhandled 5xx exception with HTTP request context.
|
|
7
|
+
*
|
|
8
|
+
* Reference implementation: `examples/nestjs-demo/` in the tiny-tracking repo.
|
|
9
|
+
*/
|
|
10
|
+
import { API_KEY_PLACEHOLDER } from '../types.js';
|
|
11
|
+
export const NESTJS_SPEC = {
|
|
12
|
+
framework: 'nestjs',
|
|
13
|
+
displayName: 'NestJS',
|
|
14
|
+
summary: 'NestJS integration via a dedicated module + global exception filter. ' +
|
|
15
|
+
'The module exposes `TinyTrackingService` which can be injected anywhere ' +
|
|
16
|
+
'for manual captures. The filter auto-captures every unhandled exception ' +
|
|
17
|
+
'thrown from controllers / providers with full HTTP request context.',
|
|
18
|
+
supportedVersions: 'NestJS ^9, ^10 or ^11; Node.js >= 18',
|
|
19
|
+
packages: [
|
|
20
|
+
{
|
|
21
|
+
name: '@tinyweb_dev/tracking-nodejs',
|
|
22
|
+
version: '^0.1.0',
|
|
23
|
+
scope: 'dependencies',
|
|
24
|
+
},
|
|
25
|
+
],
|
|
26
|
+
envVariables: [
|
|
27
|
+
{
|
|
28
|
+
name: 'TINY_TRACKING_API_KEY',
|
|
29
|
+
example: API_KEY_PLACEHOLDER,
|
|
30
|
+
required: true,
|
|
31
|
+
description: 'Per-service ingest key (prefixed `tt_svc_`).',
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
name: 'TINY_TRACKING_ENDPOINT',
|
|
35
|
+
example: 'https://tracking-api.tinyweb.online',
|
|
36
|
+
required: false,
|
|
37
|
+
description: 'Override the ingest endpoint when self-hosting.',
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
name: 'NODE_ENV',
|
|
41
|
+
example: 'production',
|
|
42
|
+
required: false,
|
|
43
|
+
description: 'Reported as the `environment` tag on every error.',
|
|
44
|
+
},
|
|
45
|
+
],
|
|
46
|
+
fileChanges: [
|
|
47
|
+
{
|
|
48
|
+
path: '.env',
|
|
49
|
+
action: 'append',
|
|
50
|
+
description: 'Add Tiny Tracking credentials.',
|
|
51
|
+
language: 'dotenv',
|
|
52
|
+
snippet: '# Tiny Tracking\n' +
|
|
53
|
+
`TINY_TRACKING_API_KEY=${API_KEY_PLACEHOLDER}\n` +
|
|
54
|
+
'TINY_TRACKING_ENDPOINT=https://tracking-api.tinyweb.online\n',
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
path: 'src/tiny-tracking/tiny-tracking.constants.ts',
|
|
58
|
+
action: 'create',
|
|
59
|
+
description: 'DI token + options type for the module.',
|
|
60
|
+
language: 'typescript',
|
|
61
|
+
snippet: "import type { TinyTrackingOptions } from '@tinyweb_dev/tracking-nodejs';\n\n" +
|
|
62
|
+
"export const TINY_TRACKING_OPTIONS = Symbol('TINY_TRACKING_OPTIONS');\n" +
|
|
63
|
+
'export type TinyTrackingModuleOptions = TinyTrackingOptions;\n',
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
path: 'src/tiny-tracking/tiny-tracking.service.ts',
|
|
67
|
+
action: 'create',
|
|
68
|
+
description: 'Service that owns the tracker singleton and exposes a small API ' +
|
|
69
|
+
'for controllers / providers to call.',
|
|
70
|
+
language: 'typescript',
|
|
71
|
+
snippet: "import { Inject, Injectable, OnModuleDestroy } from '@nestjs/common';\n" +
|
|
72
|
+
"import TinyTrackingNode from '@tinyweb_dev/tracking-nodejs';\n" +
|
|
73
|
+
"import { TINY_TRACKING_OPTIONS } from './tiny-tracking.constants';\n" +
|
|
74
|
+
"import type { TinyTrackingModuleOptions } from './tiny-tracking.constants';\n\n" +
|
|
75
|
+
'@Injectable()\n' +
|
|
76
|
+
'export class TinyTrackingService implements OnModuleDestroy {\n' +
|
|
77
|
+
' private readonly tracker: TinyTrackingNode;\n\n' +
|
|
78
|
+
' constructor(@Inject(TINY_TRACKING_OPTIONS) options: TinyTrackingModuleOptions) {\n' +
|
|
79
|
+
' this.tracker = new TinyTrackingNode(options);\n' +
|
|
80
|
+
' }\n\n' +
|
|
81
|
+
' captureError(error: unknown, extraTags?: Record<string, string>, extraData?: Record<string, unknown>): void {\n' +
|
|
82
|
+
' this.tracker.captureError(error, extraTags, extraData);\n' +
|
|
83
|
+
' }\n\n' +
|
|
84
|
+
' captureErrorFromRequest(error: unknown, req: unknown, extraTags?: Record<string, string>): void {\n' +
|
|
85
|
+
' this.tracker.captureErrorFromRequest(error, req as never, extraTags);\n' +
|
|
86
|
+
' }\n\n' +
|
|
87
|
+
' setUser(id: string, email?: string, name?: string): void {\n' +
|
|
88
|
+
' this.tracker.setUser({ id, email, name });\n' +
|
|
89
|
+
' }\n\n' +
|
|
90
|
+
' async onModuleDestroy(): Promise<void> {\n' +
|
|
91
|
+
' await this.tracker.flush();\n' +
|
|
92
|
+
' this.tracker.destroy();\n' +
|
|
93
|
+
' }\n' +
|
|
94
|
+
'}\n',
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
path: 'src/tiny-tracking/tiny-tracking.filter.ts',
|
|
98
|
+
action: 'create',
|
|
99
|
+
description: 'Global exception filter that captures every unhandled exception ' +
|
|
100
|
+
'with the originating HTTP request as context.',
|
|
101
|
+
language: 'typescript',
|
|
102
|
+
snippet: "import { ArgumentsHost, Catch, ExceptionFilter, HttpException, HttpStatus } from '@nestjs/common';\n" +
|
|
103
|
+
"import { TinyTrackingService } from './tiny-tracking.service';\n\n" +
|
|
104
|
+
'@Catch()\n' +
|
|
105
|
+
'export class TinyTrackingExceptionFilter implements ExceptionFilter {\n' +
|
|
106
|
+
' constructor(private readonly tracking: TinyTrackingService) {}\n\n' +
|
|
107
|
+
' catch(exception: unknown, host: ArgumentsHost): void {\n' +
|
|
108
|
+
' const ctx = host.switchToHttp();\n' +
|
|
109
|
+
' const req = ctx.getRequest();\n' +
|
|
110
|
+
' const res = ctx.getResponse();\n\n' +
|
|
111
|
+
' const status =\n' +
|
|
112
|
+
' exception instanceof HttpException ? exception.getStatus() : HttpStatus.INTERNAL_SERVER_ERROR;\n\n' +
|
|
113
|
+
' // Only capture genuine errors (5xx) — 4xx are usually client errors.\n' +
|
|
114
|
+
' if (status >= 500) {\n' +
|
|
115
|
+
' this.tracking.captureErrorFromRequest(exception, req, { statusCode: String(status) });\n' +
|
|
116
|
+
' }\n\n' +
|
|
117
|
+
" const body = exception instanceof HttpException ? exception.getResponse() : { statusCode: status, message: 'Internal server error' };\n" +
|
|
118
|
+
' res.status(status).json(body);\n' +
|
|
119
|
+
' }\n' +
|
|
120
|
+
'}\n',
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
path: 'src/tiny-tracking/tiny-tracking.module.ts',
|
|
124
|
+
action: 'create',
|
|
125
|
+
description: 'Dynamic module — call `TinyTrackingModule.forRoot({...})` from ' + '`AppModule.imports`.',
|
|
126
|
+
language: 'typescript',
|
|
127
|
+
snippet: "import { DynamicModule, Global, Module } from '@nestjs/common';\n" +
|
|
128
|
+
"import { TINY_TRACKING_OPTIONS, TinyTrackingModuleOptions } from './tiny-tracking.constants';\n" +
|
|
129
|
+
"import { TinyTrackingService } from './tiny-tracking.service';\n\n" +
|
|
130
|
+
'@Global()\n' +
|
|
131
|
+
'@Module({})\n' +
|
|
132
|
+
'export class TinyTrackingModule {\n' +
|
|
133
|
+
' static forRoot(options: TinyTrackingModuleOptions): DynamicModule {\n' +
|
|
134
|
+
' return {\n' +
|
|
135
|
+
' module: TinyTrackingModule,\n' +
|
|
136
|
+
' providers: [\n' +
|
|
137
|
+
' { provide: TINY_TRACKING_OPTIONS, useValue: options },\n' +
|
|
138
|
+
' TinyTrackingService,\n' +
|
|
139
|
+
' ],\n' +
|
|
140
|
+
' exports: [TinyTrackingService],\n' +
|
|
141
|
+
' };\n' +
|
|
142
|
+
' }\n' +
|
|
143
|
+
'}\n',
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
path: 'src/app.module.ts',
|
|
147
|
+
action: 'modify',
|
|
148
|
+
description: 'Wire the dynamic module into the root `AppModule`.',
|
|
149
|
+
language: 'typescript',
|
|
150
|
+
snippet: "import { Module } from '@nestjs/common';\n" +
|
|
151
|
+
"import { TinyTrackingModule } from './tiny-tracking/tiny-tracking.module';\n\n" +
|
|
152
|
+
'@Module({\n' +
|
|
153
|
+
' imports: [\n' +
|
|
154
|
+
' TinyTrackingModule.forRoot({\n' +
|
|
155
|
+
' apiKey: process.env.TINY_TRACKING_API_KEY!,\n' +
|
|
156
|
+
" endpoint: process.env.TINY_TRACKING_ENDPOINT ?? 'https://tracking-api.tinyweb.online',\n" +
|
|
157
|
+
" environment: process.env.NODE_ENV ?? 'development',\n" +
|
|
158
|
+
' }),\n' +
|
|
159
|
+
' // ... your other modules ...\n' +
|
|
160
|
+
' ],\n' +
|
|
161
|
+
'})\n' +
|
|
162
|
+
'export class AppModule {}\n',
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
path: 'src/main.ts',
|
|
166
|
+
action: 'modify',
|
|
167
|
+
description: 'Register the global exception filter during bootstrap so every ' +
|
|
168
|
+
'controller benefits without per-controller decoration.',
|
|
169
|
+
language: 'typescript',
|
|
170
|
+
snippet: "import { NestFactory } from '@nestjs/core';\n" +
|
|
171
|
+
"import { AppModule } from './app.module';\n" +
|
|
172
|
+
"import { TinyTrackingService } from './tiny-tracking/tiny-tracking.service';\n" +
|
|
173
|
+
"import { TinyTrackingExceptionFilter } from './tiny-tracking/tiny-tracking.filter';\n\n" +
|
|
174
|
+
'async function bootstrap(): Promise<void> {\n' +
|
|
175
|
+
' const app = await NestFactory.create(AppModule);\n' +
|
|
176
|
+
' const tracking = app.get(TinyTrackingService);\n' +
|
|
177
|
+
' app.useGlobalFilters(new TinyTrackingExceptionFilter(tracking));\n' +
|
|
178
|
+
' await app.listen(process.env.PORT ?? 3000);\n' +
|
|
179
|
+
'}\n' +
|
|
180
|
+
'bootstrap();\n',
|
|
181
|
+
},
|
|
182
|
+
],
|
|
183
|
+
verificationCommand: 'curl -sf -X POST http://localhost:3000/__force_error__ || true',
|
|
184
|
+
notes: [
|
|
185
|
+
'The filter only captures 5xx exceptions by default — 4xx ' +
|
|
186
|
+
'(`BadRequestException`, `NotFoundException`, etc.) are client errors ' +
|
|
187
|
+
'and would create noise. Adjust the `status >= 500` check if your ' +
|
|
188
|
+
'project disagrees.',
|
|
189
|
+
'For a full reference implementation see `examples/nestjs-demo/` in the ' +
|
|
190
|
+
'tiny-tracking repo.',
|
|
191
|
+
],
|
|
192
|
+
};
|
|
193
|
+
//# sourceMappingURL=nestjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nestjs.js","sourceRoot":"","sources":["../../../src/sdk-install/frameworks/nestjs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Install spec for plain Node.js / TypeScript runtimes.
|
|
3
|
+
*
|
|
4
|
+
* Target audience: backend services or CLIs that are NOT using Express /
|
|
5
|
+
* NestJS. The integration boils down to:
|
|
6
|
+
* 1. install the `@tinyweb_dev/tracking-nodejs` package
|
|
7
|
+
* 2. add an `.env` entry for the per-service ingest key
|
|
8
|
+
* 3. create a singleton tracker module that other modules import
|
|
9
|
+
* 4. register global error handlers
|
|
10
|
+
*/
|
|
11
|
+
import { type FrameworkInstallSpec } from '../types.js';
|
|
12
|
+
export declare const NODE_SPEC: FrameworkInstallSpec;
|
|
13
|
+
//# sourceMappingURL=node.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/sdk-install/frameworks/node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAuB,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAE7E,eAAO,MAAM,SAAS,EAAE,oBAyGvB,CAAC"}
|