@kyro-cms/core 0.12.15 → 0.12.17
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 +1 -1
- package/dist/WebhookService-ByrpAI4d.d.ts +143 -0
- package/dist/WebhookService-i-Kl3dvf.d.cts +143 -0
- package/dist/api-handler-graphql.cjs +1 -1
- package/dist/api-handler-graphql.d.cts +6 -0
- package/dist/api-handler-graphql.d.ts +6 -0
- package/dist/api-handler-graphql.js +1 -1
- package/dist/api-handler-trpc.cjs +1 -1
- package/dist/api-handler-trpc.d.cts +5 -0
- package/dist/api-handler-trpc.d.ts +5 -0
- package/dist/api-handler-trpc.js +1 -1
- package/dist/api-handler.cjs +1 -1
- package/dist/api-handler.d.cts +7 -0
- package/dist/api-handler.d.ts +7 -0
- package/dist/api-handler.js +1 -1
- package/dist/base-iyJTfH-3.d.cts +74 -0
- package/dist/base-oUSURe4_.d.ts +74 -0
- package/dist/{chunk-IQYP3DDJ.cjs → chunk-BIJHVTNO.cjs} +2 -2
- package/dist/{chunk-NI7S5JMH.js → chunk-CIA3BVH3.js} +5 -5
- package/dist/{chunk-ZZIGN5PZ.js → chunk-I4ZACL66.js} +1 -1
- package/dist/{chunk-M5JUPA7G.cjs → chunk-LMIBASPC.cjs} +5 -5
- package/dist/{chunk-RY3BG3AN.cjs → chunk-RL36RMMG.cjs} +1 -1
- package/dist/{chunk-DTSYK7KK.js → chunk-YFRLT77I.js} +2 -2
- package/dist/cli/index.cjs +0 -0
- package/dist/cli/index.d.cts +1 -0
- package/dist/cli/index.d.ts +1 -0
- package/dist/client.d.cts +12 -0
- package/dist/client.d.ts +12 -0
- package/dist/drizzle/index.d.cts +169 -0
- package/dist/drizzle/index.d.ts +169 -0
- package/dist/fields/index.d.cts +7 -0
- package/dist/fields/index.d.ts +7 -0
- package/dist/graphql/index.d.cts +57 -0
- package/dist/graphql/index.d.ts +57 -0
- package/dist/index-Bz9JqRGI.d.cts +86 -0
- package/dist/index-Bz9JqRGI.d.ts +86 -0
- package/dist/index-DNy8jbA2.d.cts +282 -0
- package/dist/index-DVDMEql7.d.ts +282 -0
- package/dist/index.cjs +26 -19
- package/dist/index.d.cts +1446 -0
- package/dist/index.d.ts +1446 -0
- package/dist/index.js +26 -19
- package/dist/integration.d.cts +14 -0
- package/dist/integration.d.ts +14 -0
- package/dist/mongodb/index.d.cts +134 -0
- package/dist/mongodb/index.d.ts +134 -0
- package/dist/rest/index.cjs +1 -1
- package/dist/rest/index.d.cts +56 -0
- package/dist/rest/index.d.ts +56 -0
- package/dist/rest/index.js +1 -1
- package/dist/richtext-DrhORshE.d.cts +5 -0
- package/dist/richtext-DrhORshE.d.ts +5 -0
- package/dist/templates/index.d.cts +107 -0
- package/dist/templates/index.d.ts +107 -0
- package/dist/trpc/index.d.cts +142 -0
- package/dist/trpc/index.d.ts +142 -0
- package/dist/types-BcZiluXL.d.cts +569 -0
- package/dist/types-CpjuXbe7.d.cts +150 -0
- package/dist/types-CpjuXbe7.d.ts +150 -0
- package/dist/types-Dc8VAPhF.d.ts +569 -0
- package/dist/types-euTszc-1.d.cts +294 -0
- package/dist/types-euTszc-1.d.ts +294 -0
- package/dist/ws/index.d.cts +88 -0
- package/dist/ws/index.d.ts +88 -0
- package/package.json +24 -25
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { WebSocket, WebSocketServer } from 'ws';
|
|
2
|
+
|
|
3
|
+
type EventHandler = (data: any) => void | Promise<void>;
|
|
4
|
+
declare class PubSub {
|
|
5
|
+
private channels;
|
|
6
|
+
private maxListeners;
|
|
7
|
+
constructor(maxListeners?: number);
|
|
8
|
+
subscribe(channel: string, handler: EventHandler): () => void;
|
|
9
|
+
publish(channel: string, data: any): void;
|
|
10
|
+
hasSubscribers(channel: string): boolean;
|
|
11
|
+
getSubscriberCount(channel: string): number;
|
|
12
|
+
getChannels(): string[];
|
|
13
|
+
clear(): void;
|
|
14
|
+
}
|
|
15
|
+
interface KyroEvent {
|
|
16
|
+
type: 'create' | 'update' | 'delete';
|
|
17
|
+
collection: string;
|
|
18
|
+
doc?: any;
|
|
19
|
+
originalDoc?: any;
|
|
20
|
+
id?: string;
|
|
21
|
+
tenantId?: string;
|
|
22
|
+
timestamp: string;
|
|
23
|
+
user?: any;
|
|
24
|
+
}
|
|
25
|
+
declare class KyroPubSub extends PubSub {
|
|
26
|
+
private registry;
|
|
27
|
+
constructor(registry: any, maxListeners?: number);
|
|
28
|
+
publishCollectionEvent(collection: string, event: KyroEvent): void;
|
|
29
|
+
subscribeToCollection(collection: string, handler: EventHandler): () => void;
|
|
30
|
+
subscribeToCollectionEvent(collection: string, eventType: 'create' | 'update' | 'delete', handler: EventHandler): () => void;
|
|
31
|
+
subscribeToTenant(tenantId: string, handler: EventHandler): () => void;
|
|
32
|
+
subscribeToTenantCollection(tenantId: string, collection: string, handler: EventHandler): () => void;
|
|
33
|
+
subscribeToAllCollections(handler: EventHandler): () => void;
|
|
34
|
+
createAfterChangeHook(collection: string): (args: any) => Promise<void>;
|
|
35
|
+
createAfterDeleteHook(collection: string): (args: any) => Promise<void>;
|
|
36
|
+
autoRegisterHooks(): void;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
interface WSServerOptions {
|
|
40
|
+
port?: number;
|
|
41
|
+
pubsub: KyroPubSub;
|
|
42
|
+
maxConnections?: number;
|
|
43
|
+
pingInterval?: number;
|
|
44
|
+
requireAuth?: boolean;
|
|
45
|
+
verifyToken?: (token: string) => Promise<any>;
|
|
46
|
+
}
|
|
47
|
+
interface WSSubscription {
|
|
48
|
+
channel: string;
|
|
49
|
+
unsubscribe: () => void;
|
|
50
|
+
}
|
|
51
|
+
interface WSClient {
|
|
52
|
+
id: string;
|
|
53
|
+
ws: WebSocket;
|
|
54
|
+
subscriptions: Map<string, WSSubscription>;
|
|
55
|
+
authenticated: boolean;
|
|
56
|
+
user?: any;
|
|
57
|
+
tenantId?: string;
|
|
58
|
+
connectedAt: Date;
|
|
59
|
+
lastActivity: Date;
|
|
60
|
+
}
|
|
61
|
+
declare class KyroWSServer {
|
|
62
|
+
private wss;
|
|
63
|
+
private clients;
|
|
64
|
+
private pubsub;
|
|
65
|
+
private options;
|
|
66
|
+
private pingTimer?;
|
|
67
|
+
constructor(options: WSServerOptions);
|
|
68
|
+
private setupServer;
|
|
69
|
+
private handleMessage;
|
|
70
|
+
private handleAuthenticate;
|
|
71
|
+
private handleSubscribe;
|
|
72
|
+
private handleUnsubscribe;
|
|
73
|
+
private handleUnsubscribeAll;
|
|
74
|
+
private handleList;
|
|
75
|
+
private handleDisconnect;
|
|
76
|
+
private sendToClient;
|
|
77
|
+
private generateClientId;
|
|
78
|
+
private startPingInterval;
|
|
79
|
+
broadcast(channel: string, data: any): void;
|
|
80
|
+
getConnectedClients(): WSClient[];
|
|
81
|
+
getClientCount(): number;
|
|
82
|
+
getSubscriptionCount(): number;
|
|
83
|
+
close(): Promise<void>;
|
|
84
|
+
getServer(): WebSocketServer;
|
|
85
|
+
}
|
|
86
|
+
declare function createWSServer(options: WSServerOptions): KyroWSServer;
|
|
87
|
+
|
|
88
|
+
export { type EventHandler, type KyroEvent, KyroPubSub, KyroWSServer, PubSub, type WSClient, type WSServerOptions, createWSServer };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kyro-cms/core",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.17",
|
|
4
4
|
"description": "Astro-native headless CMS with multi-database adapters, multi-protocol APIs, and multi-vendor support",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=22"
|
|
@@ -121,23 +121,6 @@
|
|
|
121
121
|
"files": [
|
|
122
122
|
"dist"
|
|
123
123
|
],
|
|
124
|
-
"scripts": {
|
|
125
|
-
"build": "tsup",
|
|
126
|
-
"dev": "NODE_NO_WARNINGS=1 tsup --watch",
|
|
127
|
-
"test": "vitest",
|
|
128
|
-
"test:run": "vitest run",
|
|
129
|
-
"test:smoke": "vitest run test/smoke.test.ts",
|
|
130
|
-
"test:coverage": "vitest run --coverage",
|
|
131
|
-
"typecheck": "tsc --noEmit",
|
|
132
|
-
"lint": "eslint src/",
|
|
133
|
-
"format": "prettier --write \"src/**/*.ts\"",
|
|
134
|
-
"generate": "node --loader ts-node/esm scripts/generate-types.ts",
|
|
135
|
-
"db:generate": "drizzle-kit generate",
|
|
136
|
-
"db:migrate": "drizzle-kit migrate",
|
|
137
|
-
"db:push": "drizzle-kit push",
|
|
138
|
-
"db:studio": "drizzle-kit studio",
|
|
139
|
-
"db:seed": "tsx src/database/drizzle/seed.ts"
|
|
140
|
-
},
|
|
141
124
|
"bin": {
|
|
142
125
|
"kyro": "./dist/cli/index.js"
|
|
143
126
|
},
|
|
@@ -169,7 +152,6 @@
|
|
|
169
152
|
"@ai-sdk/openai": "^0.0.14",
|
|
170
153
|
"@aws-sdk/client-s3": "^3.751.0",
|
|
171
154
|
"@aws-sdk/s3-request-presigner": "^3.751.0",
|
|
172
|
-
"@kyro-cms/ai": "^0.0.5",
|
|
173
155
|
"@smithy/node-http-handler": "^4.7.0",
|
|
174
156
|
"@tiptap/core": "^3.23.6",
|
|
175
157
|
"@tiptap/extension-color": "^3.23.6",
|
|
@@ -207,7 +189,8 @@
|
|
|
207
189
|
"unstorage": "^1.17.5",
|
|
208
190
|
"ws": "^8.18.0",
|
|
209
191
|
"zod": "^3.24.0",
|
|
210
|
-
"zod-to-json-schema": "^3.25.2"
|
|
192
|
+
"zod-to-json-schema": "^3.25.2",
|
|
193
|
+
"@kyro-cms/ai": "0.12.17"
|
|
211
194
|
},
|
|
212
195
|
"devDependencies": {
|
|
213
196
|
"@types/better-sqlite3": "^7.6.13",
|
|
@@ -230,11 +213,6 @@
|
|
|
230
213
|
"optionalDependencies": {
|
|
231
214
|
"pg": ">=8.0.0"
|
|
232
215
|
},
|
|
233
|
-
"pnpm": {
|
|
234
|
-
"overrides": {
|
|
235
|
-
"use-sync-external-store": "1.5.0"
|
|
236
|
-
}
|
|
237
|
-
},
|
|
238
216
|
"peerDependencies": {
|
|
239
217
|
"astro": "^7.1.1",
|
|
240
218
|
"ioredis": "^5.10.1",
|
|
@@ -258,5 +236,26 @@
|
|
|
258
236
|
"astro": {
|
|
259
237
|
"optional": true
|
|
260
238
|
}
|
|
239
|
+
},
|
|
240
|
+
"scripts": {
|
|
241
|
+
"build": "tsup",
|
|
242
|
+
"dev": "NODE_NO_WARNINGS=1 tsup --watch",
|
|
243
|
+
"test": "vitest",
|
|
244
|
+
"test:run": "vitest run",
|
|
245
|
+
"test:smoke": "vitest run test/smoke.test.ts",
|
|
246
|
+
"test:coverage": "vitest run --coverage",
|
|
247
|
+
"typecheck": "tsc --noEmit",
|
|
248
|
+
"lint": "eslint src/",
|
|
249
|
+
"format": "prettier --write \"src/**/*.ts\"",
|
|
250
|
+
"generate": "node --loader ts-node/esm scripts/generate-types.ts",
|
|
251
|
+
"db:generate": "drizzle-kit generate",
|
|
252
|
+
"db:migrate": "drizzle-kit migrate",
|
|
253
|
+
"db:push": "drizzle-kit push",
|
|
254
|
+
"db:studio": "drizzle-kit studio",
|
|
255
|
+
"db:seed": "tsx src/database/drizzle/seed.ts",
|
|
256
|
+
"docs:dev": "pnpm --filter @kyro-cms/docs dev",
|
|
257
|
+
"docs:build": "pnpm --filter @kyro-cms/docs build",
|
|
258
|
+
"publish:packages": "node scripts/publish.js",
|
|
259
|
+
"publish:dry": "node scripts/publish.js --dry-run"
|
|
261
260
|
}
|
|
262
261
|
}
|