@synap-core/types 1.0.0 → 1.2.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.
@@ -1,46 +1,46 @@
1
-
2
- 
3
- > @synap-core/types@0.3.6 build /Users/antoine/Documents/Code/synap/synap-backend/packages/types
4
- > tsup
5
-
6
- CLI Building entry: src/index.ts, src/documents/index.ts, src/entities/index.ts, src/events/index.ts, src/inbox/index.ts, src/preferences/index.ts, src/realtime/index.ts, src/relations/index.ts, src/users/index.ts, src/views/index.ts, src/workspaces/index.ts
7
- CLI Using tsconfig: tsconfig.json
8
- CLI tsup v8.5.1
9
- CLI Using tsup config: /Users/antoine/Documents/Code/synap/synap-backend/packages/types/tsup.config.ts
10
- CLI Target: es2022
11
- CLI Cleaning output folder
12
- ESM Build start
13
- ESM dist/chunk-2N5ZC5EB.js 0 B
14
- ESM dist/chunk-IZA3UKBT.js 0 B
15
- ESM dist/chunk-7LKCNZXD.js 0 B
16
- ESM dist/chunk-GX24H4PF.js 0 B
17
- ESM dist/chunk-QAWJ6GM3.js 0 B
18
- ESM dist/users/index.js 31.00 B
19
- ESM dist/workspaces/index.js 31.00 B
20
- ESM dist/views/index.js 642.00 B
21
- ESM dist/chunk-5MS6TR4O.js 3.86 KB
22
- ESM dist/chunk-X5L3VJJZ.js 0 B
23
- ESM dist/index.js 14.87 KB
24
- ESM dist/documents/index.js 31.00 B
25
- ESM dist/entities/index.js 372.00 B
26
- ESM dist/chunk-44W6WKWP.js 3.60 KB
27
- ESM dist/events/index.js 405.00 B
28
- ESM dist/inbox/index.js 31.00 B
29
- ESM dist/preferences/index.js 470.00 B
30
- ESM dist/chunk-GI5BUXJF.js 3.25 KB
31
- ESM dist/realtime/index.js 31.00 B
32
- ESM dist/relations/index.js 31.00 B
33
- ESM ⚡️ Build success in 13ms
34
- DTS Build start
35
- src/views/index.ts(20,1): error TS2308: Module './types.js' has already exported a member named 'EntityFilter'. Consider explicitly re-exporting to resolve the ambiguity.
36
- src/views/index.ts(20,1): error TS2308: Module './types.js' has already exported a member named 'EntityQuery'. Consider explicitly re-exporting to resolve the ambiguity.
37
- src/views/index.ts(21,1): error TS2308: Module './types.js' has already exported a member named 'StructuredViewConfig'. Consider explicitly re-exporting to resolve the ambiguity.
38
-
39
- Error: error occurred in dts build
40
- at Worker.<anonymous> (/Users/antoine/Documents/Code/synap/synap-backend/node_modules/.pnpm/tsup@8.5.1_tsx@4.21.0_typescript@5.9.3/node_modules/tsup/dist/index.js:1545:26)
41
- at Worker.emit (node:events:520:28)
42
- at MessagePort.<anonymous> (node:internal/worker:262:53)
43
- at [nodejs.internal.kHybridDispatch] (node:internal/event_target:816:20)
44
- at MessagePort.<anonymous> (node:internal/per_context/messageport:23:28)
45
- DTS Build error
46
-  ELIFECYCLE  Command failed with exit code 1.
1
+
2
+ > @synap-core/types@1.2.0 build /Users/antoine/Documents/Code/synap/synap-backend/packages/types
3
+ > tsup
4
+
5
+ CLI Building entry: src/index.ts, src/documents/index.ts, src/entities/index.ts, src/inbox/index.ts, src/relations/index.ts, src/users/index.ts, src/realtime/index.ts, src/workspaces/index.ts, src/views/index.ts, src/events/index.ts, src/preferences/index.ts
6
+ CLI Using tsconfig: tsconfig.json
7
+ CLI tsup v8.5.1
8
+ CLI Using tsup config: /Users/antoine/Documents/Code/synap/synap-backend/packages/types/tsup.config.ts
9
+ CLI Target: es2022
10
+ CLI Cleaning output folder
11
+ ESM Build start
12
+ ESM dist/chunk-GX24H4PF.js 0 B
13
+ ESM dist/chunk-QAWJ6GM3.js 0 B
14
+ ESM dist/chunk-2N5ZC5EB.js 0 B
15
+ ESM dist/chunk-IZA3UKBT.js 0 B
16
+ ESM dist/chunk-X5L3VJJZ.js 0 B
17
+ ESM dist/preferences/index.js 374.00 B
18
+ ESM dist/chunk-5MS6TR4O.js 3.86 KB
19
+ ESM dist/chunk-75HLKBPD.js 2.44 KB
20
+ ESM dist/documents/index.js 522.00 B
21
+ ESM dist/chunk-WXJ4PQR7.js 551.00 B
22
+ ESM dist/entities/index.js 372.00 B
23
+ ESM dist/chunk-E57ULMXU.js 4.07 KB
24
+ ESM dist/inbox/index.js 31.00 B
25
+ ESM dist/relations/index.js 31.00 B
26
+ ESM dist/users/index.js 31.00 B
27
+ ESM dist/realtime/index.js 31.00 B
28
+ ESM dist/workspaces/index.js 31.00 B
29
+ ESM dist/views/index.js 642.00 B
30
+ ESM dist/events/index.js 405.00 B
31
+ ESM dist/index.js 19.08 KB
32
+ ESM ⚡️ Build success in 455ms
33
+ DTS Build start
34
+ DTS ⚡️ Build success in 18481ms
35
+ DTS dist/documents/index.d.ts 397.00 B
36
+ DTS dist/relations/index.d.ts 896.00 B
37
+ DTS dist/realtime/index.d.ts 1.54 KB
38
+ DTS dist/workspaces/index.d.ts 882.00 B
39
+ DTS dist/events/index.d.ts 4.12 KB
40
+ DTS dist/preferences/index.d.ts 20.10 KB
41
+ DTS dist/views/index.d.ts 60.75 KB
42
+ DTS dist/index.d.ts 233.31 KB
43
+ DTS dist/entities/index.d.ts 1.20 KB
44
+ DTS dist/users/index.d.ts 195.00 B
45
+ DTS dist/inbox/index.d.ts 13.00 B
46
+ DTS dist/types-nhCcewMV.d.ts 30.52 KB
@@ -66,21 +66,34 @@ function safeValidateEntityMetadata(type, metadata) {
66
66
 
67
67
  // src/entities/types.ts
68
68
  import { z as z2 } from "zod";
69
- import { selectEntitySchema } from "@synap/database/schema";
70
- var CompanyPropertiesSchema = z2.object({
71
- website: z2.string().optional(),
72
- industry: z2.string().optional(),
73
- foundedYear: z2.number().optional()
74
- }).partial();
69
+ var baseEntitySchema = z2.object({
70
+ id: z2.string(),
71
+ userId: z2.string(),
72
+ workspaceId: z2.string().nullable(),
73
+ type: z2.string(),
74
+ title: z2.string().nullable(),
75
+ preview: z2.string().nullable(),
76
+ documentId: z2.string().nullable(),
77
+ metadata: z2.any(),
78
+ fileUrl: z2.string().nullable(),
79
+ filePath: z2.string().nullable(),
80
+ fileSize: z2.number().nullable(),
81
+ fileType: z2.string().nullable(),
82
+ checksum: z2.string().nullable(),
83
+ version: z2.number(),
84
+ createdAt: z2.date(),
85
+ updatedAt: z2.date(),
86
+ deletedAt: z2.date().nullable()
87
+ });
75
88
  var EntitySchema = z2.discriminatedUnion("type", [
76
- selectEntitySchema.extend({ type: z2.literal("task"), metadata: ENTITY_SCHEMAS.task }),
77
- selectEntitySchema.extend({ type: z2.literal("note"), metadata: ENTITY_SCHEMAS.note }),
78
- selectEntitySchema.extend({ type: z2.literal("person"), metadata: ENTITY_SCHEMAS.person }),
79
- selectEntitySchema.extend({ type: z2.literal("event"), metadata: ENTITY_SCHEMAS.event }),
80
- selectEntitySchema.extend({ type: z2.literal("file"), metadata: ENTITY_SCHEMAS.file }),
81
- selectEntitySchema.extend({ type: z2.literal("code"), metadata: ENTITY_SCHEMAS.code }),
82
- selectEntitySchema.extend({ type: z2.literal("bookmark"), metadata: ENTITY_SCHEMAS.bookmark }),
83
- selectEntitySchema.extend({ type: z2.literal("company"), metadata: ENTITY_SCHEMAS.company })
89
+ baseEntitySchema.extend({ type: z2.literal("task"), metadata: ENTITY_SCHEMAS.task }),
90
+ baseEntitySchema.extend({ type: z2.literal("note"), metadata: ENTITY_SCHEMAS.note }),
91
+ baseEntitySchema.extend({ type: z2.literal("person"), metadata: ENTITY_SCHEMAS.person }),
92
+ baseEntitySchema.extend({ type: z2.literal("event"), metadata: ENTITY_SCHEMAS.event }),
93
+ baseEntitySchema.extend({ type: z2.literal("file"), metadata: ENTITY_SCHEMAS.file }),
94
+ baseEntitySchema.extend({ type: z2.literal("code"), metadata: ENTITY_SCHEMAS.code }),
95
+ baseEntitySchema.extend({ type: z2.literal("bookmark"), metadata: ENTITY_SCHEMAS.bookmark }),
96
+ baseEntitySchema.extend({ type: z2.literal("company"), metadata: ENTITY_SCHEMAS.company })
84
97
  ]);
85
98
 
86
99
  // src/entities/guards.ts
@@ -107,7 +120,6 @@ export {
107
120
  ENTITY_SCHEMAS,
108
121
  validateEntityMetadata,
109
122
  safeValidateEntityMetadata,
110
- CompanyPropertiesSchema,
111
123
  EntitySchema,
112
124
  isTask,
113
125
  isNote,
@@ -0,0 +1 @@
1
+ export { Document, DocumentProposal, DocumentSession, DocumentVersion, NewDocument, NewDocumentProposal, NewDocumentSession, NewDocumentVersion, insertDocumentProposalSchema, insertDocumentSchema, insertDocumentSessionSchema, insertDocumentVersionSchema, selectDocumentProposalSchema, selectDocumentSchema, selectDocumentSessionSchema, selectDocumentVersionSchema } from '@synap/database/schema';
@@ -0,0 +1,38 @@
1
+ import { E as Entity, T as Task, N as Note, P as Person, e as Event, F as File } from '../types-nhCcewMV.js';
2
+ export { B as BaseEntity, a as ENTITY_SCHEMAS, c as EntityMetadata, d as EntitySchema, b as EntityType, f as NewEntity, U as UpdateEntity, s as safeValidateEntityMetadata, v as validateEntityMetadata } from '../types-nhCcewMV.js';
3
+ import 'zod';
4
+
5
+ /**
6
+ * Entity Type Guards
7
+ *
8
+ * Type guard functions for narrowing entity types.
9
+ */
10
+
11
+ /**
12
+ * Type guard for Task entities
13
+ */
14
+ declare function isTask(entity: Entity): entity is Task;
15
+ /**
16
+ * Type guard for Note entities
17
+ */
18
+ declare function isNote(entity: Entity): entity is Note;
19
+ /**
20
+ * Type guard for Person entities
21
+ */
22
+ declare function isPerson(entity: Entity): entity is Person;
23
+ /**
24
+ * Type guard for Event entities
25
+ */
26
+ declare function isEvent(entity: Entity): entity is Event;
27
+ /**
28
+ * Type guard for File entities
29
+ */
30
+ declare function isFile(entity: Entity): entity is File;
31
+ /**
32
+ * Generic type guard for any entity type
33
+ */
34
+ declare function isEntityOfType<T extends Entity['type']>(entity: Entity, type: T): entity is Extract<Entity, {
35
+ type: T;
36
+ }>;
37
+
38
+ export { Entity, Event, File, Note, Person, Task, isEntityOfType, isEvent, isFile, isNote, isPerson, isTask };
@@ -1,5 +1,4 @@
1
1
  import {
2
- CompanyPropertiesSchema,
3
2
  ENTITY_SCHEMAS,
4
3
  EntitySchema,
5
4
  isEntityOfType,
@@ -10,9 +9,8 @@ import {
10
9
  isTask,
11
10
  safeValidateEntityMetadata,
12
11
  validateEntityMetadata
13
- } from "../chunk-27HQLZOR.js";
12
+ } from "../chunk-E57ULMXU.js";
14
13
  export {
15
- CompanyPropertiesSchema,
16
14
  ENTITY_SCHEMAS,
17
15
  EntitySchema,
18
16
  isEntityOfType,
@@ -0,0 +1,139 @@
1
+ import { E as Entity } from '../types-nhCcewMV.js';
2
+ import 'zod';
3
+
4
+ /**
5
+ * Domain Event Types
6
+ *
7
+ * Type definitions for Socket.IO domain events.
8
+ * These are emitted by Inngest workers via the realtime bridge
9
+ * to notify clients about data changes.
10
+ *
11
+ * SINGLE SOURCE OF TRUTH - Frontend imports from here.
12
+ */
13
+
14
+ interface EntityCreatedEvent {
15
+ entityId: string;
16
+ workspaceId: string;
17
+ type: string;
18
+ title: string;
19
+ entity?: Entity;
20
+ createdBy: string;
21
+ createdAt: string;
22
+ }
23
+ interface EntityUpdatedEvent {
24
+ entityId: string;
25
+ workspaceId: string;
26
+ changes: Record<string, unknown>;
27
+ entity?: Entity;
28
+ updatedBy: string;
29
+ updatedAt: string;
30
+ }
31
+ interface EntityDeletedEvent {
32
+ entityId: string;
33
+ workspaceId: string;
34
+ deletedBy: string;
35
+ deletedAt: string;
36
+ }
37
+ interface EntityApprovalEvent {
38
+ requestId: string;
39
+ entityId?: string;
40
+ workspaceId: string;
41
+ entityType: string;
42
+ status: 'pending' | 'approved' | 'rejected' | 'created';
43
+ reason?: string;
44
+ createdBy: string;
45
+ timestamp: string;
46
+ }
47
+ interface DocumentUpdatedEvent {
48
+ documentId: string;
49
+ workspaceId: string;
50
+ version: number;
51
+ updatedBy: string;
52
+ updatedAt: string;
53
+ }
54
+ interface DocumentVersionCreatedEvent {
55
+ documentId: string;
56
+ workspaceId: string;
57
+ version: number;
58
+ message?: string;
59
+ createdBy: string;
60
+ createdAt: string;
61
+ }
62
+ interface AIProposalEvent {
63
+ proposalId: string;
64
+ workspaceId: string;
65
+ targetType: 'entity' | 'document';
66
+ targetId?: string;
67
+ operation: 'create' | 'update' | 'delete';
68
+ data: unknown;
69
+ reasoning: string;
70
+ confidence: number;
71
+ createdAt: string;
72
+ }
73
+ interface AIProposalStatusEvent {
74
+ proposalId: string;
75
+ workspaceId: string;
76
+ status: 'approved' | 'rejected';
77
+ processedBy: string;
78
+ processedAt: string;
79
+ }
80
+ interface ChatMessageEvent {
81
+ threadId: string;
82
+ messageId: string;
83
+ workspaceId: string;
84
+ role: 'user' | 'assistant';
85
+ content: string;
86
+ createdAt: string;
87
+ }
88
+ interface ChatStreamEvent {
89
+ threadId: string;
90
+ messageId: string;
91
+ chunk: string;
92
+ done: boolean;
93
+ }
94
+ /**
95
+ * All domain events emitted from server to client.
96
+ * Use this for typed Socket.IO client setup.
97
+ */
98
+ interface DomainServerToClientEvents {
99
+ 'entity:created': (data: EntityCreatedEvent) => void;
100
+ 'entity:updated': (data: EntityUpdatedEvent) => void;
101
+ 'entity:deleted': (data: EntityDeletedEvent) => void;
102
+ 'entity:approval': (data: EntityApprovalEvent) => void;
103
+ 'document:updated': (data: DocumentUpdatedEvent) => void;
104
+ 'document:version': (data: DocumentVersionCreatedEvent) => void;
105
+ 'ai:proposal': (data: AIProposalEvent) => void;
106
+ 'ai:proposal:status': (data: AIProposalStatusEvent) => void;
107
+ 'chat:message': (data: ChatMessageEvent) => void;
108
+ 'chat:stream': (data: ChatStreamEvent) => void;
109
+ 'error': (data: {
110
+ code: string;
111
+ message: string;
112
+ }) => void;
113
+ }
114
+ /**
115
+ * Events clients can send to server.
116
+ */
117
+ interface DomainClientToServerEvents {
118
+ 'join-workspace': (workspaceId: string) => void;
119
+ 'leave-workspace': (workspaceId: string) => void;
120
+ 'join-document': (documentId: string) => void;
121
+ 'leave-document': (documentId: string) => void;
122
+ }
123
+ /**
124
+ * All domain event names for type checking
125
+ */
126
+ declare const DomainEventNames: {
127
+ readonly ENTITY_CREATED: "entity:created";
128
+ readonly ENTITY_UPDATED: "entity:updated";
129
+ readonly ENTITY_DELETED: "entity:deleted";
130
+ readonly DOCUMENT_UPDATED: "document:updated";
131
+ readonly DOCUMENT_VERSION: "document:version";
132
+ readonly AI_PROPOSAL: "ai:proposal";
133
+ readonly AI_PROPOSAL_STATUS: "ai:proposal:status";
134
+ readonly CHAT_MESSAGE: "chat:message";
135
+ readonly CHAT_STREAM: "chat:stream";
136
+ };
137
+ type DomainEventName = typeof DomainEventNames[keyof typeof DomainEventNames];
138
+
139
+ export { type AIProposalEvent, type AIProposalStatusEvent, type ChatMessageEvent, type ChatStreamEvent, type DocumentUpdatedEvent, type DocumentVersionCreatedEvent, type DomainClientToServerEvents, type DomainEventName, DomainEventNames, type DomainServerToClientEvents, type EntityApprovalEvent, type EntityCreatedEvent, type EntityDeletedEvent, type EntityUpdatedEvent };
@@ -0,0 +1,2 @@
1
+
2
+ export { }